gpt4 book ai didi

webpack - 从 webpack 中排除目录

转载 作者:行者123 更新时间:2023-12-05 07:44:32 26 4
gpt4 key购买 nike

我的应用程序中有一个子项目,它包含自己的 node_modules/ 等。它在脚本方面与主项目隔离,但应该在其中。 这可能没有意义,但这是事实

问题是,node_modules(至少)正在干扰 webpack。我收到类似Duplicate IdentifierCannot redeclare block-scoped variable、...

这样的错误

通过简单地删除子项目目录,捆绑开始工作。


最佳解决方案是在 webpack 配置中添加一个排除条目,但事情并非如此。

我该如何解决这个问题?我找不到解决方案!

最佳答案

您需要在您的加载程序中设置 exclude 属性。

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 中排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42806424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com