webpack resolve.alias 配置问题
高洛峰
高洛峰 2016-10-27 13:41:57
[JavaScript讨论组]

alias 解析失败,找不到文件,项目情况及代码片段如下:

/project
    -webpack.config.js
    -/src
        -init.js
        -init-h5.js
        -h5.js
        -/js
            -/lib
                -vue.js
        -/tmpl
            -index.vue

init.js

require.ensure(['./init-h5'], function(require) {
    require('./init-h5')
}, './init-h5');

init-h5.js

require('./h5')

h5.js

import Vue from 'lib/vue.js'

webpack.config.js:

module.exports = {
    context: path.resolve(__dirname, "./src"),
    entry: {
        init: ['babel-polyfill', './init.js'],
    },
    output: {
        path: __dirname + '/dist',
        filename: '[name].js',
        chunkFilename: '[name].chunk.js'
    },
    resolve: {
        root: path.resolve(__dirname, "./src"),
        fallback: [path.resolve(__dirname, './node_modules')],
        extensions: ['', '.js', '.vue'],
        alias: {
            tmpl: '/tmpl',
            lib: '/js/lib'
        }
    },
    resolveLoader: {
        fallback: [path.join(__dirname, '../node_modules')]
    }
}

enviroment:

PS D:\Projects\SVN\mosaic> cmd /c "ver"
Microsoft Windows [版本 10.0.14393]

PS D:\Projects\SVN\mosaic> node --version
v4.3.1

PS D:\Projects\SVN\mosaic> npm --version
2.14.12

Error:

ERROR in ./h5.js
Module not found: Error: Cannot resolve 'file' or 'directory' /js/lib/vue.js in D:\Projects\SVN\mosaic\src
 @ ./h5.js 3:11-32

ERROR in ./h5.js
Module not found: Error: Cannot resolve 'file' or 'directory' /js/lib/vue-router in D:\Projects\SVN\mosaic\src
 @ ./h5.js 7:17-42

ERROR in ./h5.js
Module not found: Error: Cannot resolve 'file' or 'directory' /tmpl/index.vue in D:\Projects\SVN\mosaic\src  
 @ ./h5.js 20:15-40


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
三叔

alias不是这样用的,得上文件系统版的绝对路径,例如D:/XXX/XXX/XX.JS

可先用__dirname(也就是当前配置文件的绝对路径)来定个网站文件的根目录,然后再用path.resolve()来确定目标文件的绝对路径

var staticRootDir = path.resolve(__dirname, '../../'); // 项目根目录
var jqueryPath = path.resolve(staticRootDir, './static/js/jquery.js';


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号