覆盖或更改package.json"主页"值

时间:2017-05-25 16:09:11

标签: javascript json reactjs

我目前正试图从另一个文件覆盖或更改package.json中的值。基本上,package.json有一个"主页"运行npm run build时生成的值。我希望能够从 config.js config.production.json 文件中更改该值。我希望我的环境值都在配置文件中,因此更容易修改。但是,当我运行npm run build时,它仍会从 package.json 加载我的主页值。

的package.json

{
  "homepage": "/company/portal"
}

config.production.json

{
  "configPath": "/newCompany/portal"
}

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果您通常意味着如何通过浏览器中的脚本在客户端计算机中编写文件,那么它就不容易被允许,并且您还会遇到很多跨浏览器问题,并将其实现为0。

您可以尝试看看这个看起来相当不错的库:

https://eligrey.com/demos/FileSaver.js/

您还可以考虑向node.js应用程序启动AJAX请求,例如,它可以在您的系统上轻松地将文件写入您的文件或提供下载,或者通常是服务器端,它将提供要下载的文件客户端。

但是,从您解释的情况来看,您只需要更改系统中的配置文件,因此考虑到您使用的是node.js,最简单的方法是使用node.js

通常强烈建议不要将您的env变量值放在JSON文件中。看起来你可以保持秩序,但很可能你的代码会被推到某个地方,因此打开JSON文件,任何人都可以看到env变量的所有值。这不是一件好事。

在我看来,你应该考虑编写你的构建脚本,以便在调用时获取参数,然后调用构建传递参数。例如:

npm build --production
npm build --development

根据参数的不同,您可以即时设置正确的配置。

我希望这会有所帮助