[英]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.