reactjs - Babel 预设在 .babelrc 文件中工作,但在 Webpack 配置文件中不起作用

标签 reactjs webpack babeljs

除了能够重用 .babelrc 之外,是否还有理由将 Babel 预设存储在 .babelrc 而不是 webpack.config.js 文件在另一个项目中?

我有一个使用以下 .babelrc 文件可以正常工作的应用程序:

{
  "presets": ["es2015", "stage-0","react"]
}

我将应用程序更改为另一个没有 .babelrc 文件的 Webpack 结构。这是webpack.config.js:

 module: {
    loaders: [
      {
        test: /(\.js|\.jsx)$/,
        exclude: /(node_modules)/,
        loader: 'babel',
        query: { presets: ['es2015', 'stage-0', 'react'] }
      },

奇怪的是,应用程序在解析我的 server.js 文件中的 JSX 和 import 关键字时停止工作。仅当我添加回 .babelrc 文件时它才有效。谁能解释一下为什么它只适用于 .babelrc 文件?

最佳答案

webpack.config.js 中将加载器更改为 babel-loader ,在此之前您需要使用安装它们

npm install babel-loader babel-core babel-preset-es2015 --save-dev

还要确保您已经安装了 babel-preset-react

命令

webpack.config.js

 module: {
    loaders: [
      {
        test: /\.js?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015', 'stage-0'],
          plugins: ['react-html-attrs', 'transform-decorators-legacy'], 
        }
      }
    ]
  },

关于reactjs - Babel 预设在 .babelrc 文件中工作,但在 Webpack 配置文件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894147/

相关文章:

node.js - webpack 不会设置为生产环境。默认为开发

javascript - ESLint 不会检查命令行中的所有错误

webpack - 使用Babel压缩Webpack中的ES6代码

javascript - 当输入聚焦时,React Native 有条件地渲染部分 View

javascript - Jest Enzyme setState of memoryRouter dependent

javascript - 在启用监视和启动服务器的情况下运行 webpack

d3.js - 为什么 Babel 7 对一无所知的浏览器使用 require() 函数?

javascript - 如何使用react上传图像并将其保存到数据库

reactjs - 如何禁用React的 "Warning: Unknown prop"?

javascript - 如果我使用的是 webpack,我是否需要实时主机服务器上的 node_modules 文件夹?