sta*_*lei 51 javascript dependencies packages package-managers npm
我是npm的新手,并不真正了解应该依赖于devDependencies的内容.我知道,对于测试库,他们应该进入dev,但对于像babel和webpack这样的东西呢?他们是不是也应该在dev中,因为他们只是用来将es6和JSX转换成vanilla JS?我的理解是,当你部署到heroku时,它已经使用必要的库进行转换,所以不需要在生产中托管它们吗?
"dependencies": {
"babel-core": "^6.7.7",
"babel-eslint": "^6.0.4",
"babel-loader": "^6.2.4",
"babel-plugin-react-transform": "^2.0.2",
"babel-plugin-transform-object-rest-spread": "^6.6.5",
"babel-plugin-transform-react-display-name": "^6.5.0",
"babel-polyfill": "^6.7.4",
"babel-preset-es2015": "^6.6.0",
"babel-preset-react": "^6.5.0",
"bootstrap": "^3.3.7",
"css-loader": "^0.23.1",
"es6-promise": "^3.2.1",
"eslint": "^2.9.0",
"eslint-plugin-babel": "^3.2.0",
"eslint-plugin-react": "^5.0.1",
"express": "^4.13.4",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"lodash": "^4.15.0",
"react": "^15.0.2",
"react-addons-css-transition-group": "^15.0.2",
"react-dom": "^15.0.2",
"react-redux": "^4.4.5",
"react-transform-catch-errors": "^1.0.2",
"react-transform-hmr": "^1.0.4",
"redbox-react": "^1.2.3",
"redux": "^3.5.2",
"redux-form": "^6.1.0",
"rimraf": "^2.5.2",
"style-loader": "^0.13.1",
"webpack-dev-middleware": "^1.6.1",
"webpack-hot-middleware": "^2.10.0"
},
"devDependencies": {
"babel-register": "^6.9.0",
"chai": "^3.5.0",
"mocha": "^2.5.3",
"sinon": "^1.17.4",
"webpack": "^1.13.2"
}
Run Code Online (Sandbox Code Playgroud)
Zoh*_*jaz 40
在babel
和webpack
包将进入devDependencies
部分,因为这些包transpiling时使用,并捆绑-ING你的代码香草JavaScript中的bundle.js
&等文件(S).
在生产中,您将从bundle.js
构建/生成的代码中运行代码,不再需要这些依赖项.
尽管基本上每个人都说了些什么,但我还是要提个理智……这确实很简单:
您的项目npm install
将由另一个项目编辑吗?aka您是否正在编写npm模块?会结束另一个项目package.json
吗?
没有?
然后放进去dependencies
。
是?
dependencies
:您希望项目的下游使用者和项目开发人员安装的东西:peerDependencies
:下游用户需要确保已安装的内容bundleDependencies
:下游用户将需要的东西,并且不需要单独安装,因为在您安装时npm publish
,这些东西将与您的软件包“捆绑在一起”。optionalDependencies
:很不错但没有的东西不会导致致命错误devDependencies
:仅在项目中使用的东西。简而言之是:模块不会神奇地得到不同的安装。他们要么被安装,要么没有被安装。
归档时间: |
|
查看次数: |
21731 次 |
最近记录: |