【问题标题】:Error while build my react app (UglifyJs)构建我的反应应用程序时出错(UglifyJs)
【发布时间】:2017-03-16 21:16:10
【问题描述】:

当我运行我的 react 应用程序的构建时,我得到:ERROR in bundle.js from UglifyJs Unexpected token: name 我发现了这个https://github.com/joeeames/WebpackFundamentalsCourse/issues/3 他们建议使用 babel-reset-es2015,但我需要 babel-preset-react。 我的 webpack 配置:

const path = require('path')

const ExtractTextPlugin = require("extract-text-webpack-plugin")

const extractSass = new ExtractTextPlugin({
    filename: "style.css",
    disable: process.env.NODE_ENV === "development"
});

const config = {
  entry: "./src/index.js",

  output: {
    filename: "bundle.js",
    path: path.resolve(__dirname + "/dist")
  },

  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: "babel-loader",
        query: {presets:['react']}
      },

      {
        test: /\.js$/,
        enforce: 'pre',

        loader: 'eslint-loader',
        options: {
          emitWarning: true,
        }
      },

      { test: /\.html$/,
        use:[{
          loader: 'html-loader',
          options: {
            minimize:true
          }
        }]
      },

      {
        test: /\.scss$/,
        use: extractSass.extract({
          use: [{
              loader: "css-loader"
          }, {
              loader: "sass-loader"
          }],
          fallback: "style-loader"
        })
      }
  ]},

  plugins: [
    extractSass
  ],

  node:{
    fs: "empty"
  }
}

module.exports = config

【问题讨论】:

    标签: reactjs webpack babeljs


    【解决方案1】:

    你可以同时拥有,它们不是相互排斥的。此外,query 在 webpack 2 中已替换为 options,就像您已经在其他加载器中使用它一样。出于兼容性原因,query 仍然存在,但您应该只使用 options

    {
      test: /\.js$/,
      exclude: /node_modules/,
      loader: "babel-loader",
      options: {
        presets: ['es2015', 'react']
      }
    },
    

    【讨论】:

    • 谢谢,我认为这个反应预设包含 es2015 但现在它正在工作;)
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 2022-01-26
    • 2012-04-22
    • 2018-04-02
    • 1970-01-01
    • 2021-08-30
    • 2021-08-16
    相关资源
    最近更新 更多