2016-10-19 51 views
11

Npm'de yeniyim ve bağımlılıklara ve devDependencies'a ne yapılması gerektiğini gerçekten anlamıyorum. Kütüphaneleri test ettikleri için devasa bir şey yapmaları gerektiğini biliyorum, ama babil ve web paketi gibi şeyler için ne dersiniz? Onlar da dev yapmalılar, çünkü sadece es6 ve JSX'i vanilya JS'ye dönüştürmek için kullanılıyorlar mı? Anladığım kadarıyla, kahramana konuştuğunuzda, zaten gerekli olan kütüphanelerle aktarımı yapıyor, bu yüzden onları üretimde barındırmaya gerek yok mu? Bu bağımlılıklar javascript vanila ve bundje.js vb oluşturmak ancak üretimde, inşa etmek kodunuzu transpiling gibi geliştirme aşamasında yardımcı olacaktır çünküBabel ve Webpack'i devDependencies veya Dependencies içine koyar mısınız?

"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" 
    } 
+0

http://stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies -ve-bağımsız değişkenler. Bu biraz gerekli netlik verecektir! – semuzaboi

cevap

4

babel ve webpack bağımlılıkları inti dev bölümü gidecek/Oluşturulan kod bu gerektirmez bağımlılıklar.

+0

Ayrıca üretimde, sadece babel kullanarak yapı aktarılabilir mi? Bunu anlamama yardımcı olabilir misiniz? –

+2

Üretimde, derleme veya dağıtım klasörünüzde, zaten baban tarafından ES5'e aktarılan içerik bulunur. Yani uygulamanızı çalıştırmak için onlara gerçekten ihtiyacınız olmayacak. – semuzaboi

+5

Bir istisna çalışma zamanında polyfill gerekli olduğundan babel-polyfill 'dir: https://babeljs.io/docs/usage/polyfill/ – HaoCS

0

Dev bağımlılık sadece geliştirme sunucusu için kullanmak olanlar, ben bu devDepedency olduğunu düşünüyorum gibidir:

"devDependencies": { 
    "babel-core": "^6.26.0", 
    "babel-loader": "^7.1.2", 
    "babel-preset-env": "^1.6.1", 
    "babel-preset-es2015": "^6.24.1", 
    "babel-preset-react": "^6.24.1", 
    "eslint": "^4.11.0", 
    "eslint-config-airbnb": "^16.1.0", 
    "eslint-plugin-import": "^2.8.0", 
    "eslint-plugin-jsx-a11y": "^6.0.2", 
    "eslint-plugin-react": "^7.5.1", 
    "webpack-dev-server": "^2.9.4" 
    } 
+0

Uygulamanın oluşturulması için gerekli olanlardır. Her şey uygulamayı kurduğunuz yere göre değişir. – earl3s