您需要在加载器中设置排除道具。
https://webpack.js.org/configuration/module/#rule-exclude
而且你可以控制何时捆绑或不使用NODE_ENV和脚本模块。我将其用于开发环境,而不是等待webpack每次都构建所有node_modules。
这是一个简单的内联,如果检查NODE_ENV和构建节点模块或不使用加载器中的排除条件。
var FASTBUILD = process.env.NODE_ENV == 'fastbuild';
//This example is for loading all js
module: {
rules: [
FASTBUILD ? {test: /\.js?$/, loader: "your-loader-here", exclude: path.resolve(__dirname, "./node_modules")} : {test: /\.js?$/, loader: your-loader-here"}
]
}
而且你可以拥有这在你的package.json,所以你只需要使用npm run dev
:
"scripts": {
//this if for build WITHOUT node_modules
"dev": "set NODE_ENV=fastbuild&&webpack --watch"
}
PS:此配置为Windows和使用的WebPack 2.2
的WebPack不关心子目录,除非您从中导入某些内容。这个问题可能是你的webpack配置中的某个地方,也许是配置错误['resolve'](https://webpack.js.org/configuration/resolve/)。 –