ndu*_*ger 74 javascript webpack
我正在使用webpack作为我正在构建的Node框架(尽管我应该使用gulp,但不可否认).当我包含EJS模块时,webpack将其包含在已编译的源代码中,即使我明确告诉它要排除node_modules目录.
module.exports = {
context: __dirname,
target: 'node',
// ...
output: {
libraryTarget: 'commonjs'
// ...
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader?{ "stage": 0, "optional": ["runtime"] }'
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
如您所见,我对JS文件进行了测试,并告诉它要排除node_modules; 为什么忽略我的排除?
lyo*_*sef 161
从您的配置文件中,您似乎只是排除node_modules了被解析babel-loader,而不是被捆绑.
node_modules要从捆绑中排除和本机节点库,您需要:
target: 'node'你的webpack.config.js.这将排除捆绑本机节点模块(路径,fs等).node_modules.所以你的结果配置文件应如下所示:
var nodeExternals = require('webpack-node-externals');
...
module.exports = {
...
target: 'node', // in order to ignore built-in modules like path, fs, etc.
externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
...
};
Run Code Online (Sandbox Code Playgroud)
尝试使用绝对路径:
exclude:path.resolve(__dirname, "node_modules")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87771 次 |
| 最近记录: |