我在解决webpack 2中的别名方面有一点问题。无论我做什么,我都无法解决这个问题。以下是相关代码:
/* webpack.mix.js */
mix.webpackConfig({
module: {
rules: [
{
test: /\.js$/,
loader: 'eslint-loader'
}
]
},
resolve: {
root: path.resolve(__dirname),
// path is reqired at the beggining of file
alias: {
config: 'src/assets/js/config', // this is a config folder
js: 'src/assets/js'
}
}
});
/* router.js */
import { DashboardRoute } from 'config/route-components'
// this import is unresolved
答案 0 :(得分:3)
webpack 2中不再存在resolve.root
选项,而是将其合并到resolve.modules
(来自官方Migration Guide)。 Webpack甚至会抛出一个错误,表明它不是一个有效的属性。如果您希望能够从根目录导入,则可以将解析配置更改为:
resolve: {
alias: {
config: 'src/assets/js/config',
js: 'src/assets/js'
},
modules: [
path.resolve(__dirname),
'node_modules'
]
}
或者,您可以在resolve.alias
中使用绝对路径,如下所示:
resolve: {
alias: {
config: path.resolve(__dirname, 'src/assets/js/config'),
js: path.resolve(__dirname, 'src/assets/js')
}
}
答案 1 :(得分:1)
试试这个:
SocketServer
答案 2 :(得分:0)
在离子3(版本3.13.3)中,为了使别名映射有效,您必须在webpack.config.js
和{}中定义路径映射。 tsconfig.json
请在此处参阅完整答案question here