相关疑难解决方法(0)

如何使用React和Webpack设置Babel 6 stage 0

我从文档中了解到的

我看到Babel 6现在有三个预设:es2015,react和stage-x.我读到我可以这样设置.babelrc:

{
  "presets": ["es2015", "react", "stage-0"]
}
Run Code Online (Sandbox Code Playgroud)

或直接在package.JSON中如下:

{
  ...,
  "version": x.x.x,
  "babel": {
    "presets": ["es2015", "react", "stage-0"]
  },
  ...,
}
Run Code Online (Sandbox Code Playgroud)

我可以进一步使用带有webpack的babel-loader,如下所示:

loader: 'babel?presets[]=es2015'
Run Code Online (Sandbox Code Playgroud)


我的问题

所以为了编译所有好的和干净的我正在添加babel-loader,刚刚更新为使用Babel6,到这样的webpack配置:

module.exports = function(options) {
  var jsLoaders = ['babel?presets[]=es2015'];
  [...]
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loaders: jsLoaders
      },
      {
        test: /\.jsx$/,
        exclude: /node_modules/,
        loaders: options.production ? jsLoaders : ['react-hot'].concat(jsLoaders)
      },
      [...]
Run Code Online (Sandbox Code Playgroud)


现在,当我在没有 .babelrc设置root或package.JSONpresets 选项的情况下进行编译时,即仅使用webpack配置中的babel-loader es2015预设集时,我的React组件类中出现了关于静态propTypes的意外标记错误:

ERROR in ./app/components/form/index.jsx
Module build failed: …
Run Code Online (Sandbox Code Playgroud)

config ecmascript-6 reactjs webpack babeljs

51
推荐指数
2
解决办法
3万
查看次数

标签 统计

babeljs ×1

config ×1

ecmascript-6 ×1

reactjs ×1

webpack ×1