Support for the experimental syntax 'decorators-legacy' isn't currently enabled

从 3.4.1 升级至 3.5.1,直接使用 3.5.1 打开了旧版本工程,历史原因,旧版本工程中存在一些 js 脚本,为了使得 js 脚本被解析成 ESM 模块,我们在 assets/ 路径下增加了 package.json

{
    "type" : "module"
}

再通过 export default foo 导出,这种方式在 3.4.1 中很好的运行着,在 3.5.1 中似乎不行了。

请问是什么原因导致这个错误?

示例工程:

NewProject.zip (1.8 MB)

错误:

[Programming] 无法加载模块 file:///D:/silver/NewProject/assets/scripts/login/AppVersion.js :SyntaxError: unknown: Support for the experimental syntax 'decorators-legacy' isn't currently enabled (4:1):  2 | const { ccclass } = cc._decorator; 
  3 | 
> 4 | @ccclass('AppVersion') 
    | ^ 
  5 | export default class AppVersion extends cc.Component { 
  6 |   onLoad() { 
  7 |   }. 
[Programming] 无法加载模块 file:///D:/silver/NewProject/assets/scripts/login/AppVersion.js :SyntaxError: unknown: Support for the experimental syntax 'decorators-legacy' isn't currently enabled (4:1): 
at Object.encode (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@base\electron-worker\node_modules\v-stacks\index.js:14:17)   
at Logger._logHandler (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@base\electron-worker\static\script.ccc:1:531)   
at Logger.record (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@base\electron-logger\lib\renderer.ccc:1:458)   
at console.error (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@base\electron-logger\lib\renderer.ccc:1:1414)   
at Object.error (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\builtin\programming\dist\packer-driver\packer-driver.ccc:1:14689)   
at QuickPack._inspect (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@cocos\creator-programming-quick-pack\lib\quick-pack.js:258:26)   
at async QuickPack._inspectWithCache (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@cocos\creator-programming-quick-pack\lib\quick-pack.js:166:30)   
at async QuickPack._getOrCreateInspectRecord (C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@cocos\creator-programming-quick-pack\lib\quick-pack.js:134:13)   
at async C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@cocos\creator-programming-quick-pack\lib\quick-pack.js:219:35   
at async C:\CocosDashboard_1.1.1\resources\.editors\Creator\3.5.1\resources\app.asar\node_modules\@cocos\creator-programming-common\lib\launch-policy.js:9:30 

这个是已知问题,计划在 3.5.2 版本修复

修复进展可关注此 issues:https://github.com/cocos/cocos-engine/issues/11373

1赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。