忽略 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 构建的文件的主要内容,如果未能解决你的问题,请参考以下文章