resolve
用来配置webpack
如何寻找模块。非常显著的一个优点是使得代码更加精简清爽。
下面介绍下比较常用的配置:
1.alias
alias
意为别名。
js
module.exports = {
resolve: {
alias: {
'@': path.resolve(__dirname, '/path/to/src'),
}
}
}
使用上面的配置,就可以使@
映射到src
目录。譬如没有使用alias
相关配置之前,导入模块路径是这样的:../../src/path/to/main.js
。使用之后,代码可以是这样:@/path/to/main.js
。
2.extensions
extensions
意为扩展。在这里特指文件扩展名。
默认值为:[".js", ".json"]
。
js
module.exports = {
resolve: {
// 在这里设置的数组 会覆盖extensions的默认值。
extensions: [".vue", ".js", ".json"]
}
}
import target from '@/src/views/target'
假设target
是文件,这样的语法,会按照优先级分别寻找target.vue
、target.js
、target.json
。
3.enforceExtension
如果是true
,将不允许无扩展名(extension-less)文件。默认如果 ./foo
有 .js
扩展,require('./foo')
可以正常运行。但如果启用此选项,只有 require('./foo.js')
能够正常工作。
默认值为false
。
其他extensions
相关配置可见官网