Laravel:目前未启用对实验语法“classProperties”的支持

Posted

技术标签:

【中文标题】Laravel:目前未启用对实验语法“classProperties”的支持【英文标题】:Laravel: Support for the experimental syntax 'classProperties' isn't currently enabled 【发布时间】:2021-04-26 19:10:33 【问题描述】:

在我的资源/app.js 中,我需要自己编写的验证脚本。编译 (npm run dev) 我的 javascript 文件时,我收到以下警告。

Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /resources/js/myvendor/small-form-validator.js: Support for the experimental syntax 'classProperties' isn't currently enabled (2:13):

我的文件:

app.js

require('./bootstrap');
require('./myvendor/small-form-validator');

/resources/js/myvendor/small-form-validator.js

class SmallFormValidator 
    errMsgs = 
        required: 'This field is required!',
        string: 'Not valid string.',
        ...

我的 package.json

    "private": true,
    "scripts": 
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    ,
    "devDependencies": 
        "axios": "^0.21",
        "bootstrap": "^4.0.0",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.6",
        "lodash": "^4.17.19",
        "popper.js": "^1.12",
        "postcss": "^8.1.14",
        "resolve-url-loader": "^3.1.0",
        "sass": "^1.15.2",
        "sass-loader": "^8.0.0"
    

系统抱怨errMsgs = ...之后的赋值运算符(“=”字符)。

问题是我用类样式而不是原型样式编写我的 javascript 吗?

更新

在我的情况下,解决方案是在根目录中创建一个新的 .babelrc 文件,其中包含加载 Babel plugin-proposal-class-properties 插件的顺序。


  "plugins": ["@babel/plugin-proposal-class-properties"]

查看 codedge 的正确答案!

【问题讨论】:

【参考方案1】:

你需要在你的项目根目录下创建一个.babelrc并添加


  "plugins": ["@babel/plugin-proposal-class-properties"]

然后运行npm install --save-dev @babel/plugin-proposal-class-properties 安装软件包,然后运行npm run watch(分别为npm run dev)编译所有内容。

【讨论】:

这个解决方案对我有用。可以在 webpack.mix.js 中配置这个插件吗?将所有设置都放在一个文件中?

以上是关于Laravel:目前未启用对实验语法“classProperties”的支持的主要内容,如果未能解决你的问题,请参考以下文章

目前未启用对实验语法'classProperties'的支持(14:13)

如果已启用,如何修复“当前未启用对实验语法 'classProperties' 的支持”错误?

vue 和 jest 的“当前未启用对实验语法 'jsx' 的支持”

当前未启用对实验性语法“jsx”的支持

SyntaxError:当前未启用对实验性语法“jsx”的支持

"loose": true is not fix 对实验性语法 'classProperties' 的支持当前未启用