webpack配置中的resolve属性


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/06/12/webpack%E9%85%8D%E7%BD%AE%E4%B8%AD%E7%9A%84resolve%E5%B1%9E%E6%80%A7/

摘要

本文主要讲述了:

  1. 作用
  2. 配置

正文

作用

配置 webpack 的 module 路径解析。

配置

alias

为文件或者目录添加别名映射。

示例:为path.resolve(__dirname, 'src/lib/')添加lib的别名。

1
2
3
4
5
6
7
module.exports = {
resolve: {
alias: {
lib: path.resolve(__dirname, 'src/lib/'),
},
},
};

1
2
3
4
5
6
7
module.exports = {
resolve: {
alias: {
lib: path.resolve(__dirname, 'src/lib'),
},
},
};

此时:

  • require('lib')将被解析为require(path.resolve(__dirname, 'src/lib/index.js'))
  • require('lib/foo.js')将被解析为require(path.resolve(__dirname, 'src/lib/foo.js'))

也可以给 alias 添加$的后缀,表示仅尾匹配。

示例:为path.resolve(__dirname, 'src/lib/')添加lib$的别名。

1
2
3
4
5
6
7
module.exports = {
resolve: {
alias: {
lib$: path.resolve(__dirname, 'src/lib/'),
},
},
};

1
2
3
4
5
6
7
module.exports = {
resolve: {
alias: {
lib$: path.resolve(__dirname, 'src/lib'),
},
},
};

此时:

  • require('lib')将被解析为require(path.resolve(__dirname, 'src/lib/index.js'))
  • require('lib/foo.js')将被解析为require(path.resolve(__dirname, 'node_modules/lib/foo.js'))

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/06/12/webpack%E9%85%8D%E7%BD%AE%E4%B8%AD%E7%9A%84resolve%E5%B1%9E%E6%80%A7/


本文对你有帮助?请支持我


支付宝
微信