提问者:小点点

在依赖项部分中创建react应用程序安装设备


在使用create-react-app创建新项目并运行yarn eject之后。

我的包的依赖项部分。json如下所示:

  "dependencies": {
    "autoprefixer": "7.1.1",
    "babel-core": "6.25.0",
    "babel-eslint": "7.2.3",
    "babel-jest": "20.0.3",
    "babel-loader": "7.0.0",
    "babel-preset-react-app": "^3.0.1",
    "babel-runtime": "6.23.0",
    etc.

我想说这些都是devdependency为什么create-react-app会把它们放在这里?


共2个答案

匿名用户

这是最新版本中的一个有意更改。

对于产生静态捆绑包的前端应用程序来说,这种区别是相当随意的。从技术上讲,服务器上不需要任何这些依赖项,甚至不需要运行时依赖项。因此,按照这种逻辑,甚至react都可能被视为开发依赖项。

我们过去常常试图将它们分开,但如上所述,首先它并不完全一致。对于没有Node运行时的应用来说,这种区别是有用的,没有技术上的原因。此外,它曾经给一些没有安装开发依赖项的Heroku部署带来问题(因此无法在服务器上构建项目或在部署前测试项目)。

最后,我们把所有的东西都放到依赖项中。如果您不同意,您可以随时重新安排包。您认为合理的json

匿名用户

如果您正在构建的应用程序是一个库,并且您希望发布其他应用程序以供使用,那么这些都是开发人员依赖项。

基本上我的理解是这样的,如果你有一个模块,可以用两种方式:

  • 通过npm i消费
  • 通过克隆项目开发

在这种情况下,将它们放在开发依赖项中是有意义的。

在你的例子中,人们会克隆你的项目来开发。并通过托管的一个消费它。

希望这有帮助。!