使用的WebPack resolveLoader别名或如何缩短需要路径
问题描述:
我有这样的:使用的WebPack resolveLoader别名或如何缩短需要路径
let avatar = require ('../../../public/assets/img/avatar.jpg');
我希望能够利用这样的:
let avatar = require('alias!./img/avatar.jpg');
我尝试做的是设置别名在这样的webpack配置:
resolveLoader: {
alias: {
'alias': path.join(__dirname, '../public/assets/'),
}
},
路径确实解析到一个正确的目录和文件在那里。原始的长需求正常工作。但是使用别名,我得到一个
错误:无法解析“文件”或“目录” ./img/avatar.jpg
我缺少的别名配置的东西或也许我没有使用正确的工具来完成这一切?
答
一种方法是设置modulesDirectories
选项,以定义您希望webpack解析路径的新文件夹。
https://webpack.github.io/docs/configuration.html#resolve-modulesdirectories
没有看到你的webpack.config.js
。我还怀疑,你可能希望这些选项被设置为resolve
不resolveLoader
resolve: {
modulesDirectories: [
'path/to/assets'
]
},
然后......
let avatar = require('./img/avatar.jpg');
// should look at 'path/to/assets/img/avatar.jpg'