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

如何从构建中排除 vuetify 和 vue?

如何使用嵌套路由和私有路由组件在 react.js 中正确构建路由?

React.js 新手教程

无法在 React.js 中读取 json,出现意外的令牌错误

react js的捆绑问题

如何从 React JS 的 react 项目的公共目录中的文件中读取 xml?