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
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
alias不是这样用的,得上文件系统版的绝对路径,例如D:/XXX/XXX/XX.JS
可先用__dirname(也就是当前配置文件的绝对路径)来定个网站文件的根目录,然后再用path.resolve()来确定目标文件的绝对路径