忽略 npm 构建的文件

Posted

技术标签:

【中文标题】忽略 npm 构建的文件【英文标题】:Ignore files for the npm build 【发布时间】:2018-12-25 05:02:18 【问题描述】:

当我使用npm run-script build 构建我的 React 应用程序时,有一个文件夹和一个文件我不想在那里。 有没有办法在 npm run-script 构建期间忽略文件和文件夹? 我知道有 .gitignore 和 .npmignore 但它们用于忽略仅用于发布(而不是构建)的文件。

谢谢。

【问题讨论】:

什么文件夹和文件是你不想要的?它们在您的public 文件夹中吗?如果您无法从src 中删除它们,您可以使用npm run build && rm -rf ./build/myfolder ./build/myfile 不,它们是一个包含图片的文件夹(是的,我知道我不应该这样做)和一个包含一些数据的 json 文件。我尝试了你的命令和npm run-script build && rm -rf ./src/myfolder ./src/myfile,我仍然在构建目录中构建了文件。 您应该从 build 文件夹中删除文件夹和 json 文件,而不是 src 文件夹。 build 命令会创建一个build 文件夹,其中包含所有资产。然后,您从中删除不需要的文件。你是说你想删除例如import json from './myjson.json'?那你为什么还要导入它呢? 构建会生成一个名为 main.aed18c57.js 的文件,其中包含我的所有代码(javascript/json),所以除非我逐行手动删除它们...该应用程序使用一种数据库,它是存储在 src 文件夹中。但是当我构建应用程序时,它会生成一个静态文件,并且无法修改“数据库”。也许如果数据库没有构建,构建的应用程序将使用存储在 src 文件夹中的数据库,而不是构建目录的“静态数据库”。 【参考方案1】:

我知道这是一个很老的线程,但就像我最近遇到这个问题一样,所以我认为这可能对其他人有所帮助。

就像 Thottle 在评论中提到的那样,在构建脚本中使用 rm -rf ./filePathToExclude 模式会有所帮助。对我有用的唯一更改是将rm -rf /.filePathToExclude 放在react-scripts build 之前。

对我有用的最终构建脚本(不包括 .env 文件,与 package.json 位于同一目录中)是 rm -rf ./.env && react-scripts build

【讨论】:

以上是关于忽略 npm 构建的文件的主要内容,如果未能解决你的问题,请参考以下文章

gitignore忽略提交全局配置

微信小程序构建npm包提示没有可构建的NPM包

gulp

如何在构建时忽略 .sql 文件,但将其包含在架构比较中

如何在构建之前使用 npm 删除文件夹

由于 Yarn 和 npm 锁定文件冲突,Heroku 构建失败