从构建 React.js 中排除 .js 文件
Posted
技术标签:
【中文标题】从构建 React.js 中排除 .js 文件【英文标题】:Exclude .js files from build React.js 【发布时间】:2018-09-22 20:20:57 【问题描述】:我想知道是否有办法从 .js 文件中排除
npm run build
我已经尝试添加
"build": "react-scripts build && rm -rf build/config-local.js",
进入package.json
,但它告诉我:
rm is not recognized as a function
这个问题有简单的解决办法吗
谢谢
【问题讨论】:
rm
无法识别,因为您可能使用的是 Windows 系统。试试del
。
另外,这真的是XY problem。
我不能随意选择系统,我必须为这个特定的应用程序使用 windows。
我知道这是一个 XY 问题,我正在尝试找到从构建中排除文件的最干净的方法。
我没有说你必须切换操作系统,只需尝试del
命令:&& del build\\config-local.js
-- 注意转义的反斜杠。
【参考方案1】:
如果不修改react-scripts 源代码,则无法排除通过react-scripts build
命令安装的.js
文件。因此,我认为您尝试的随后删除文件的解决方案是最简单的方法。
说明:
那么为什么它不起作用?
rm is not recognized as a function
rm
命令用于通过 bash 删除文件/文件夹。
Windows 的等效命令(例如通过cmd.exe
)是DEL
。
所以我猜你收到这个错误是因为你在 Windows 上运行它。
解决方案:
对于删除文件/文件夹的跨平台解决方案,您可以使用rimraf。
首先将cd
安装到您的项目目录并通过运行以下命令安装rimraf
:
npm install rimraf --save-dev
然后将build
脚本更改为package.json
中的以下内容:
"build": "react-scripts build && rimraf build/config-local.js",
注意:原来的rm -rf
部分已经替换为rimraf
【讨论】:
我遇到了一些与 rimraf 相关的问题,但它确实有效,非常感谢您的帮助,您为我节省了大量研究以上是关于从构建 React.js 中排除 .js 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用嵌套路由和私有路由组件在 react.js 中正确构建路由?