SyntaxError: unknown: Support for the experimental syntax 'decorators-legacy' isn't currently enabled
微信小程序默认可以使用TypeScript开发,装饰器对于TypeScript来说是一个非常好用的语法糖,结果~,默认的TypeScript无法解析。解决办法就是,去掉默认的TypeScript编译,使用自己的编译
1.打开project.config.json文件,找到
"setting": {
"useCompilerPlugins": [
"typescript"
],
}
2.删除"typescript",保存
3.在终端执行tsc
4.重新编译一下,`decorators-legacy`错误就没有啦
不过麻烦的就是需要手动编辑,而且有很多js文件,看起来不美观~,只能希望官方提供解析装饰器功能啦。
注意:如果引用npm包,需要在project.config.json文件中设置`packNpmManually`,和`packNpmRelationList`,如下:
"packNpmManually": true,
"packNpmRelationList": [
{
"packageJsonPath": "package.json",
"miniprogramNpmDistDir": "./miniprogram"
}
],
然后在小程序编译器的工具栏中找到"工具"->“构建npm”,重新编译就可以了