决定是否保存到devDependencies或依赖项?
我正在构build一个react / express应用程序,并且要确保我正在设置我的package.json,以便dev软件包位于devDependencies
下,生产软件包位于dependencies
下。
当下载一个新的npm软件包时,有什么最快的方法来确定我是否可以使用--save
或使用--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" }
我很难查找每个软件包应该放在哪个部分。 我试图找出每个人的依赖关系,但从来没有得到一个真正的决定性的答案,所以我不知道我是否做得最好。
当下载一个npm包以查找是否可以使用--save-dev
保存时,最好的方法是什么?
通常情况下, dependencies (--save)
适用于应用程序代码所引用的包:当有人使用您的应用程序时运行的代码。 devDependencies (--save-dev)
适用于应用程序开发人员使用的软件包:编译/编译工具和testing。
在npm或节点中没有严格的限制,即包x
必须进入dependencies
或devDependencies
。 你可以安装webpack
,但是如果我们按照上面的逻辑,最合适的部分是devDependencies
。
当你把软件包发布到npm时,一个为你的软件包进行npm install
的用户可以select安装软件包的代码, dependencies
(通常), devDependencies
或两者。 如果他们不打算修改你的包中的代码,他们将不需要devDependencies
任何东西。 这是保持两个部门干净地分开的一个原因。