[英]Do you put Babel and Webpack in devDependencies or Dependencies?
我是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"
}
babel
和webpack
包將進入devDependencies
部分,因為這些包在將代碼轉換並捆綁到bundle.js
&etc文件中的vanilla javascript時使用。
在生產中,您將從bundle.js
構建/生成的代碼中運行代碼,不再需要這些依賴項。
盡管基本上每個人都說,我會提供一個理智......它真的很簡單:
您的項目是否會由另一個項目npm install
? 你是在創作一個npm模塊嗎? 它會在另一個項目package.json
結束嗎?
沒有?
然后將所有內容放在dependencies
。
是?
dependencies
:您希望項目的下游消費者和項目開發人員安裝的內容: peerDependencies
:下游用戶確保已安裝的東西 bundleDependencies
:下游用戶需要的東西,不需要單獨安裝,因為當你npm publish
,這些將與你的軟件包“捆綁”。 optionalDependencies
:好的東西,但沒有不會導致致命的錯誤 devDependencies
:僅在處理項目時使用的東西。 optionalDependencies
:好的東西,但沒有不會導致致命的錯誤 缺點是:模塊不會以不同的方式神奇地安裝。 他們要么安裝,要么不安裝。
Dev依賴是僅用於開發服務器的,它們是devDepedency:所有未在源代碼中使用或導入的包都是devDependencies
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"clean-webpack-plugin": "^0.1.19",
"copy-webpack-plugin": "^4.5.1",
"css-loader": "^0.28.11",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"mini-css-extract-plugin": "^0.4.0",
"node-sass": "^4.8.3",
"optimize-css-assets-webpack-plugin": "^4.0.0",
"prop-types": "^15.6.1",
"sass-loader": "^7.0.1",
"style-loader": "^0.21.0",
"uglifyjs-webpack-plugin": "^1.2.5",
"webpack": "^4.6.0",
"webpack-cli": "^3.1.1",
"webpack-dev-server": "^3.1.9"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.