Babel loader + tüm hazır ayarları kullanıcı olarak kullanmamızı istersek, neden babel-polyfill'i bileşenlerimize dahil etmeliyiz? Ben sadece babel-yükleyicinin tüm işi kendisinin yapması gerektiğini düşünüyorum.Neden 'babel-polyfill' ithalatını kullanmalıyız; reaksiyon bileşenlerinde?
Örnekler Ne i konusunu soruyorum olduğunu https://github.com/reactjs/redux/tree/master/examples
burada alınmıştır:
İşte{
"name": "redux-shopping-cart-example",
"version": "0.0.0",
"description": "Redux shopping-cart example",
"scripts": {
"start": "node server.js",
"test": "cross-env NODE_ENV=test mocha --recursive --compilers js:babel-register",
"test:watch": "npm test -- --watch"
},
"repository": {
"type": "git",
"url": "https://github.com/reactjs/redux.git"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/reactjs/redux/issues"
},
"homepage": "http://redux.js.org",
"dependencies": {
"babel-polyfill": "^6.3.14",
"react": "^0.14.7",
"react-dom": "^0.14.7",
"react-redux": "^4.2.1",
"redux": "^3.2.1",
"redux-thunk": "^1.0.3"
},
"devDependencies": {
"babel-core": "^6.3.15",
"babel-loader": "^6.2.0",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-react-hmre": "^1.1.1",
"cross-env": "^1.0.7",
"enzyme": "^2.0.0",
"express": "^4.13.3",
"json-loader": "^0.5.3",
"react-addons-test-utils": "^0.14.7",
"redux-logger": "^2.0.1",
"mocha": "^2.2.5",
"node-libs-browser": "^0.5.2",
"webpack": "^1.9.11",
"webpack-dev-middleware": "^1.2.0",
"webpack-hot-middleware": "^2.9.1"
}
}
webpack https://github.com/reactjs/redux/tree/master/examples
alınan yapılandırma örneğidir: İşteimport 'babel-polyfill';
import React from 'react';
import { render } from 'react-dom';
import App from './containers/App';
paket örneğidir
var path = require('path')
var webpack = require('webpack')
module.exports = {
devtool: 'cheap-module-eval-source-map',
entry: [
'webpack-hot-middleware/client',
'./index'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [
{
test: /\.js$/,
loaders: [ 'babel?presets[]=react,presets[]=es2015,presets[]=react-hmre' ],
exclude: /node_modules/,
include: __dirname
},
{
test: /\.json$/,
loaders: [ 'json' ],
exclude: /node_modules/,
include: __dirname
}
]
}
}
Eğer herhangi bir transpiler geliştiricisi olsaydım böyle düşünürdüm: Tamam -> var, yep? Evet! Sonraki şey, tamam ben Object.assign sahip olduğu aynı işlevselliği ekler fonksiyonu yapmak istiyorum. Beklenen davranış değil mi? Yani Object.assign es6'da ise, transpiler (veya önceden ayarlanmış) bununla ilgilenmelidir. Es7'de mevcutsa, es7 preset bununla ilgilenmelidir. Ek modül değil, her dosyada bulunan bir transpiler bile var. Daha sonra da -> var değiştirme için ek modüller sağlar. Umarım herkes benimle aynı fikirde olur. Bu arada bir açıklama için teşekkürler. – Rantiev
Eh, polyfills sonsuza kadar etrafında olmuştur, IE, Chrome, Firefox vb aynı işlevi uygulanmadığı için. Babil sadece ok fonksiyonları, içe aktarma, const vb. Gibi şeyleri işler, ancak genellikle js API işlevlerine dokunmaz. IE9'u desteklemeniz gerekiyorsa ya da her neyse, Babil'in umursayacağı bir şey değil. Sadece geleneksel kalıpları takip eden javascript oluşturur, ancak kullanılan işlevler, _f needed_ polyfill işinizdir. – dannyjolie