Webpack 排除文件夹
Webpack Exclude folder
我正在通过 Webpack 推送一个相当大的应用程序,它从两个库文件夹中提取:第三方和 node_modules。我已经为 js 文件设置了我的规则:
{
test: /\.js$/,
loader: 'babel-loader',
include: [
/src\/js\/client/
],
exclude: [
/node_modules/,
/thirdparty/
]
}
我希望 webpack 不会解析这两个目录中任何一个目录下的任何文件夹,但我遇到了库的错误。例如:
WARNING in ./~/durandal/js/system.js
51:8-15 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./~/durandal/js/system.js
52:8-15 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
ERROR in ./~/durandal/js/system.js
Cannot statically analyse 'require(..., ...)' in line 278
@ ./src/js/client/lib/durandal/overrides/views.js 2:0-37
@ ./src/js/client/index.js
我是不是误解了 include/exclude 的功能,或者这是 Webpack 的错误?
规则不决定webpack解析哪些文件,而是只适用于被包含且满足条件的文件。即使你根本没有规则,webpack 仍然会解析相同的文件,因为你将它们导入某处。
您可以使用 externals
选项将模块排除在外。这些外部组件必须以某种方式在运行时出现(例如加载在 <script>
标签中)。
如果你只是想让webpack不解析文件,但仍然包含它们,你可以配置module.noParse
。但正如文档所说,它们不应包含任何导入。
我正在通过 Webpack 推送一个相当大的应用程序,它从两个库文件夹中提取:第三方和 node_modules。我已经为 js 文件设置了我的规则:
{
test: /\.js$/,
loader: 'babel-loader',
include: [
/src\/js\/client/
],
exclude: [
/node_modules/,
/thirdparty/
]
}
我希望 webpack 不会解析这两个目录中任何一个目录下的任何文件夹,但我遇到了库的错误。例如:
WARNING in ./~/durandal/js/system.js
51:8-15 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
WARNING in ./~/durandal/js/system.js
52:8-15 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
ERROR in ./~/durandal/js/system.js
Cannot statically analyse 'require(..., ...)' in line 278
@ ./src/js/client/lib/durandal/overrides/views.js 2:0-37
@ ./src/js/client/index.js
我是不是误解了 include/exclude 的功能,或者这是 Webpack 的错误?
规则不决定webpack解析哪些文件,而是只适用于被包含且满足条件的文件。即使你根本没有规则,webpack 仍然会解析相同的文件,因为你将它们导入某处。
您可以使用 externals
选项将模块排除在外。这些外部组件必须以某种方式在运行时出现(例如加载在 <script>
标签中)。
如果你只是想让webpack不解析文件,但仍然包含它们,你可以配置module.noParse
。但正如文档所说,它们不应包含任何导入。