【问题标题】:Exclude .js files from build React.js从构建 React.js 中排除 .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 -- 注意转义的反斜杠。

标签: reactjs npm npm-scripts


【解决方案1】:

如果不修改react-scripts 源代码,则无法排除通过react-scripts build 命令安装的.js 文件。因此,我认为您尝试的随后删除文件的解决方案是最简单的方法。

说明:

那么为什么它不起作用?

rm is not recognized as a function

  • rm 命令用于通过 bash 删除文件/文件夹。
  • Windows 的等效命令(例如通过cmd.exe)是DEL

所以我猜你收到这个错误是因为你在 Windows 上运行它。

解决方案:

对于删除文件/文件夹的跨平台解决方案,您可以使用rimraf

  1. 首先将cd 安装到您的项目目录并通过运行以下命令安装rimraf

    npm install rimraf --save-dev
    
  2. 然后将build 脚本更改为package.json 中的以下内容:

    "build": "react-scripts build && rimraf build/config-local.js",
    

    注意:原来的rm -rf部分已经替换为rimraf

【讨论】:

  • 我遇到了一些与 rimraf 相关的问题,但它确实有效,非常感谢您的帮助,您为我节省了大量研究
猜你喜欢
  • 1970-01-01
  • 2014-07-23
  • 2014-10-05
  • 2019-01-29
  • 2017-07-13
  • 2016-02-13
  • 2017-12-28
  • 1970-01-01
相关资源
最近更新 更多