我在使用react
的时候用es6
特性,使用babel
转码。
诸如class
之类的语法都可以使用,
但是唯独es6的模块import
export
不能使用,只好用commonjs
的require
exports
,这是为什么?
是我的webpack
配置不对么?
我下载下来的redux
的例子都是用es6
模块写的,webpack
能编。
贴一下webpack.config.js
var webpack = require('webpack');
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js')
var srcPath = './src/';
module.exports = {
entry: srcPath + 'index.js',
output: {
path: './build/',
filename: '[name].bundle.js'
},
module: {
loaders: [{
test: /\.js$/,
loaders: [ 'babel' ],
exclude: /node_modules/,
include: __dirname
}, {
test: /\.css?$/,
loaders: [ 'style', 'raw' ],
include: __dirname
}]
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
],
resolve: {
extensions: ['', '.js', '.jsx', '.json', '.css'],
root: ['./node_modules']
}
};
看下 http://segmentfault.com/q/1010000003958514/a-1020000003958627
另外 对于 ES6 语法 安装 babel-preset-es2015
npm install babel-preset-es2015 --save-dev
上面文章中的配置是在 package.json中配置 query
也可以在项目根目录下 添加配置文件 .babelrc
{ "presets": [ "es2015", "react" ] }