如何通过 webpack 从生产构建中删除 cpp 文件?

Posted

技术标签:

【中文标题】如何通过 webpack 从生产构建中删除 cpp 文件?【英文标题】:How to remove cpp files from production build via webpack? 【发布时间】:2022-01-22 15:03:03 【问题描述】:

我使用webpack 4 和electron-builder 来捆绑和构建我的Electron 应用程序。我注意到 app.asar 包的 node_modules 目录中的本机节点模块仍然包含它们的 C++ 源文件。

有没有办法从构建步骤中排除某些文件扩展名?

【问题讨论】:

通常包所有者应该使用.npmignore 文件来排除这些文件。您应该创建一个拉取请求来建议这些更改。 cpp 文件是要发布的,只是没有打包,所以不确定npmignore 是不是这里的正确选项 你试过IgnorePlugin中的checkResource过滤功能吗:webpack.js.org/plugins/ignore-plugin 【参考方案1】:

electron-builder 可以排除 package.jsonfiles 部分中的文件。

默认模式 / 如果您的某些模式未被忽略(即不以 ! 开头),则不会将其添加到您的自定义中。在任何情况下,package.json 和 /node_modules//(只会复制生产依赖项)都会添加到您的自定义项中。在任何情况下都会添加所有默认忽略 - 如果您配置自己的模式,则无需重复。

示例

"!**/node_modules/*/CHANGELOG.md,README.md,README,readme.md,readme",

【讨论】:

以上是关于如何通过 webpack 从生产构建中删除 cpp 文件?的主要内容,如果未能解决你的问题,请参考以下文章

进行生产构建时如何使用带有 WebPack 的 AngularCLI 复制选定的文件

如何从 webpack 中的资产 url 中删除后缀斜杠“/” |盖茨比

使用vue-cli构建 webpack打包工具时,生产环境下,每次build时,删除dist目录,并重新生成,以防dist目录文件越来越多。

Webpack - less-loader 中构建和生产 css 的不同字体路径

如何使用 Ember CLI 进行生产就绪构建?

NestJS Graphql webpack 生产构建错误