簡體   English   中英

彈出 create-react-app 后無法使用擴展運算符

[英]Unable to use the spread operator after ejecting create-react-app

我使用 create-react-app 創建了一個 React 應用程序。

運行后,我無法使用擴展運算符,如下所示:

//eslint-disable-next-line 
const { children, ...attributes } = this.props; //Line 19

當我運行 yarn start 時,它一直給我這個錯誤

第 19 行:解析錯誤:意外標記 ..

Webpack Dev Server 我已經嘗試將所有預設和轉換插件添加到 webpack dev server config 和 .babelrc 但沒有運氣

// Process JS with Babel.
          {
            test: /\.(js|jsx|mjs)$/,
            include: paths.appSrc,
            loader: require.resolve('babel-loader'),    


            options: {
              presets:['react','es2015','env',"stage-2"],
              plugins: ["transform-object-rest-spread"],
              // This is a feature of `babel-loader` for webpack (not Babel itself).
              // It enables caching results in ./node_modules/.cache/babel-loader/
              // directory for faster rebuilds.
              cacheDirectory: true,
            },
          },
          // "postcss" loader app

在 babel rc 文件中也是 //.babelrc

{
    "presets":["env","react","stage-2"],
    "plugins": [
      ["transform-object-rest-spread", { "useBuiltIns": true }]
    ]
  }

如果我不彈出腳本,它工作正常。

於是問題就出在了 eslint 上。 Webpack 配置在 babel 之前加載它

添加解析器選項修復了它。

{
        test: /\.(js|jsx|mjs)$/,
        enforce: 'pre',
        use: [
          {
            options: {
              formatter: eslintFormatter,
              eslintPath: require.resolve('eslint'),
              "extends": "airbnb",
              "parserOptions":{
                "ecmaFeatures": {
                  "experimentalObjectRestSpread": true
                }
              }

            },
            loader: require.resolve('eslint-loader'),
          },
        ],
        include: paths.appSrc,
      },

用這個更新了@babel: npm install @babel/runtime@latest 做了這項工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM