webpack 可以从捆绑中排除节点模块中的单个文件吗?
Can webpack exclude a single file in a node module from bundleing?
在我的项目中,我有一个强制节点模块/node_modules/@scope/theme
。由于未知原因,它包含一个异步函数的示例,对 this is how you do async functions
这样的注释什么都不做。
它位于 /node_modules/@scope/theme/build/module/lib/async.js
,这会导致 IE11 出现问题。
现在我想将它从我的 webpack 包中排除,但我就是没有完成它。
我用 module.rules.exclude
和 tried module.exports.externals
尝试了很多东西,但是在 all.enter 代码这里没有用
更好的方法是修补库,我正在使用 patch-package
这样做。
只需修改 node_modules
中的文件,然后修改 运行 npx patch-package @scope/theme
- 它会在 patches
文件夹中创建一个 diff 文件。
为了在您 CI(或其他开发人员)中应用相同的补丁,您应该 运行 patch-package
在安装后挂钩中。
// package.json
"scripts": {
"postinstall": "patch-package"
}
这将在您安装 lib 的依赖项时应用补丁(已提交)。
在我的项目中,我有一个强制节点模块/node_modules/@scope/theme
。由于未知原因,它包含一个异步函数的示例,对 this is how you do async functions
这样的注释什么都不做。
它位于 /node_modules/@scope/theme/build/module/lib/async.js
,这会导致 IE11 出现问题。
现在我想将它从我的 webpack 包中排除,但我就是没有完成它。
我用 module.rules.exclude
和 tried module.exports.externals
尝试了很多东西,但是在 all.enter 代码这里没有用
更好的方法是修补库,我正在使用 patch-package
这样做。
只需修改 node_modules
中的文件,然后修改 运行 npx patch-package @scope/theme
- 它会在 patches
文件夹中创建一个 diff 文件。
为了在您 CI(或其他开发人员)中应用相同的补丁,您应该 运行 patch-package
在安装后挂钩中。
// package.json
"scripts": {
"postinstall": "patch-package"
}
这将在您安装 lib 的依赖项时应用补丁(已提交)。