我使用了reflect-metadata
安装软件包,对其进行了介绍,并在tsconfig文件中配置了一些相应的方法,我必须指定一些参数:
必须指定:moduleResolution: node
tsconfig.js:
{
"compilerOptions": {
"module": "esnext",
"moduleResolution": "node",
"target": "esnext",
"jsx": "preserve",
"declaration": true,
"typeRoots": ["@/types"],
"experimentalDecorators": true,
"sourceMap": true,
"emitDecoratorMetadata": true
},
"exclude": [
"node_modules"
]
}
将参数指定为正常使用的节点,否则将报告错误,
Reflect.defineMetadata is not a function
import 'reflect-metadata'
function f (target: any) {
return function (target: string, propertyKey: any, descriptor) {
Reflect.defineMetadata('xxx', 'xxx', 'xxx')
}
}
class Person {
@f()
move () {}
}
我只是使用了defineMetadata的这种方法,并没有做任何事情,但是webpack不会自动加载它,并且整个过程停止。
我必须手动强制关闭并重新启动npm run dev
如何解决此问题?
答案 0 :(得分:0)
由于类型处理方式的变化,似乎将us-east1-c
导入TypeScript的方式已随着时间而改变,但我认为目前您需要这样做:
reflect-metadata