配置文件一定不能手拼,一定要path.resolve 或者 path.join,要不拉去打靶。
const config = {
entry: '../src' + '/index.js'
}
config.entry // '../src/index.js'
看到手拼,是绝对不行的。
因为要
1、保证兼容性
2、路径规范
3、目录遍历漏洞
4、绝对路径绝对正确,相对路径依赖执行位置
这样写, path.resolve()或者path.join()去替代 手写手拼路径
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, '..');
}
写到这里,说一下
path.resolve(__dirname, '..')
比如项目结构是这样:
config
- webpack.config.js
src
dist
window上就相当:
在webpack.config.js中
__dirname // C:\\项目根目录\\config
path.resolve(__dirname, '..') // C:\\项目根目录
苹果上:
在webpack.config.js中
__dirname // /home/user/项目根目录/config
path.resolve(__dirname, '..') // /home/user/项目根目录