首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCRIPT1006: Expected '() React应用程序与webpack和Babel

SCRIPT1006: Expected '() React应用程序与webpack和Babel
EN

Stack Overflow用户
提问于 2021-05-28 20:44:45
回答 1查看 578关注 0票数 0

我正在与巴贝尔和webpack建立一个反应应用程序。该应用程序在chrome和除互联网exlorer11以外的其他浏览器上运行良好。

这是我的package.json

代码语言:javascript
复制
    {
  "name": "xai",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "webpack": "webpack",
    "start": "webpack serve"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all",
      "not ie < 11",
      "ie 11"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version",
      "ie 11"
    ]
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.14.3",
    "@babel/node": "^7.14.2",
    "@babel/plugin-proposal-class-properties": "^7.13.0",
    "@babel/preset-env": "^7.14.4",
    "@babel/preset-react": "^7.13.13",
    "@fortawesome/fontawesome-free": "^5.15.3",
    "babel-loader": "^8.2.2",
    "css-loader": "^5.2.6",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^5.3.1",
    "image-webpack-loader": "^7.0.1",
    "path": "^0.12.7",
    "style-loader": "^2.0.0",
    "webpack": "^5.38.1",
    "webpack-cli": "^4.7.0",
    "webpack-dev-server": "^3.11.2"
  },
  "dependencies": {
    "@material-ui/core": "^4.11.4",
    "axios": "^0.21.1",
    "bootstrap": "^5.0.1",
    "copy-to-clipboard": "^3.3.1",
    "fast-text-encoding": "^1.0.3",
    "firebase": "^8.6.3",
    "font-awesome": "^4.7.0",
    "font-awesome-webpack": "0.0.5-beta.2",
    "gh-pages": "^3.2.0",
    "history": "^5.0.0",
    "hookrouter": "^1.2.5",
    "lodash": "^4.17.21",
    "markdown-loader": "^6.0.0",
    "max-validator": "^1.2.1",
    "node-sass": "^6.0.0",
    "raw-loader": "^4.0.2",
    "react": "^17.0.2",
    "react-animations": "^1.0.0",
    "react-app-polyfill": "^2.0.0",
    "react-beforeunload": "^2.5.1",
    "react-beforeunload-component": "^1.2.3",
    "react-dom": "^17.0.2",
    "react-likert-scale": "^4.1.1",
    "react-radio-buttons": "^1.2.2",
    "react-router-dom": "^5.2.0",
    "react-toastify": "^7.0.4",
    "react-tooltip": "^4.2.21",
    "reactstrap": "^8.9.0",
    "sass-loader": "^11.1.1",
    "url-loader": "^4.1.1",
    "uuid": "^8.3.2"
  }
}

webpack.config.js

代码语言:javascript
复制
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  entry: path.join(__dirname, "src", "index.js"),
  output: { path: path.join(__dirname, "build"), filename: "index.bundle.js" },
  mode: process.env.NODE_ENV || "development",
  resolve: {
    modules: [path.resolve(__dirname, "src/"), "node_modules"],
    extensions: ["*", ".js", ".jsx", ".json"],
    symlinks: false,
    cacheWithContext: false,
  },
  devServer: { contentBase: path.join(__dirname, "src") },
  module: {
    rules: [
      {
        test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        use: "url-loader?limit=10000&mimetype=application/font-woff",
      },
      {
        test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        use: "file-loader",
      },
      { test: /\.md$/, use: "raw-loader" },

      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ["babel-loader"],
      },
      {
        test: /\.(css|scss)$/,
        use: ["style-loader", "css-loader"],
      },
      {
        test: /\.(jpg|jpeg|png|gif|mp3|svg)$/,
        use: ["file-loader"],
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: path.join(__dirname, "src", "index.html"),
    }),
  ],
};

我为.babelrc使用了这个配置

代码语言:javascript
复制
{
  "presets": ["@babel/preset-env", "@babel/react"],
  "plugins": ["@babel/plugin-proposal-class-properties"]
}

问题是,我以前有应用程序加载(当我使用CRA时路由中断)。现在,我只得到了一个带有SCRIPT1006: Expected '(‘’)的空白页面。我想知道你是否有办法解决这个错误。

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 08:38:27

您可以尝试删除browserslist并使用target: ['web', 'es5']支持IE11。它将将您的代码转换为在IE11中工作的ES5。有关更多信息,您可以参考这个答案这位医生

我按照这个博客中的步骤设置了一个使用Webpack和Babel的React应用程序,然后在下面的这个博客中添加了target: ['web', 'es5'],它在IE11中运行得很好。您也可以尝试:

代码语言:javascript
复制
module.exports = {
  // ...
  target: ['web', 'es5'],
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67745265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档