【问题标题】:How to stop React Webpack from including scripts from package.json如何阻止 React Webpack 包含来自 package.json 的脚本
【发布时间】:2018-05-07 22:38:23
【问题描述】:

我最近偶然发现了对我来说似乎是一个安全问题。当我查看正在部署到我的网站的 main.[...].js 文件时,我注意到它包含了我的整个 package.json 文件,其中包含一些我不想暴露给世界的脚本。

这可能是因为我正在导入文件以获取当前部署版本并将其与任何错误报告一起记录。如何在不实际导入文件并公开它的情况下从 package.json 文件中获取该版本?

即使我只导入 { version } 而不是整个文件,Webpack 仍然会打包整个文件(这让我想知道这样做的意义何在?)。

感谢您的帮助!

【问题讨论】:

  • 你使用的是哪个 webpack 版本?这应该适用于 4.x github.com/webpack/webpack/issues/5578
  • 我一直在使用 create-react-app ,似乎它们在 3.8.1 版上。这是否意味着我需要自己弹出并开始管理所有这些东西才能获得最新版本的 Webpack?
  • 是的,我认为您需要弹出才能更改 webpack 版本。
  • 好的,谢谢!我要等几周(我的网站还没有上线)看看他们是否在那之前升级,如果没有,我会弹出它。请发表您的评论作为答案,我会接受。

标签: reactjs security webpack version package.json


【解决方案1】:

像你需要的那样对 json 文件进行 Tree Shaking 是 webpack 4.x 中的一项新功能
这是票:
https://github.com/webpack/webpack/issues/5578

你可以编写一个脚本来读取版本号,然后在 webpack 运行之前将其写入它自己的文件中,如果你必须留在 3.x 上,请导入这个,但希望 create-react-app 很快就会更新。这里已经有一个开放的拉取请求:
https://github.com/facebook/create-react-app/pull/4077

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2017-09-29
    • 2012-01-19
    • 1970-01-01
    • 2016-04-20
    • 2021-10-19
    相关资源
    最近更新 更多