决定是否保存到 devDependencies 或依赖项?

Mar*_*ode 8 node.js npm

我正在构建一个 react/express 应用程序,并希望确保我正在设置我的 package.json 以便开发包在 下devDependencies,生产包在dependencies.

下载新的 npm 包时,确定是否可以使用--save或 using保存它的最快方法是--save-dev什么?例如,这是我当前的 package.json:

  "devDependencies": {
    "babel-eslint": "^7.2.3",
    "babel-loader": "^7.1.2",
    "eslint": "^4.6.0",
    "eslint-plugin-react": "^7.3.0",
    "jest": "^20.0.4"
  },
  "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-env": "^1.6.0",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "ejs": "^2.5.7",
    "express": "^4.15.4",
    "pm2": "^2.6.1",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "webpack": "^3.5.5"
  }
Run Code Online (Sandbox Code Playgroud)

我很难找到每个包裹应该放在哪个部分。我尝试为每个单独的依赖项查找它,但从未得到真正决定性的答案,所以我不知道我是否做得最佳。

下载 npm 包以查找是否可以使用 保存它的最佳方法是什么--save-dev

use*_*490 8

通常,dependencies (--save)用于您的应用程序代码引用的包:当有人使用您的应用程序时运行的代码。devDependencies (--save-dev)用于应用程序开发人员使用的包:编译/构建工具和测试。

npm 或 node 中没有严格限制说包x必须进入dependenciesdevDependencies。你可以安装webpack在任何一个中,但如果我们遵循上面的逻辑,最合适的部分是devDependencies.

当您将包发布到 npm 时,npm install对您的包执行操作的用户可以选择安装包的代码dependencies(通常)devDependencies、 或两者。如果他们不打算修改您的包中的代码,他们将不需要任何来自devDependencies. 这是保持两个部分干净分离的原因之一。