有沒有人有任何關於如何在nodejs中使用反射元數據的例子?我也使用原子打字稿。我通過npm使用它下載,但我不斷收到隨機錯誤。我看到反思是一個空白的對象。只是尋找一個如何將其納入模塊或節點項目的例子。nodejs中的Typescript反射元數據
3
A
回答
1
在[email protected]+,你可以使用它像這樣:
npm i -S reflect-metadata
npm i -D @types/reflect-metadata
// your.ts
import 'reflect-metadata'
Reflect.getMetadata(...)
Reflect.metadata(...)
3
當我面臨同樣的問題,沒有任何工作,我打開node_modules中的Reflect.ts文件。最後,你可以看到它在全球層面上勾起了反思。
// hook global Reflect
(function(__global: any) {
if (typeof __global.Reflect !== "undefined") {
if (__global.Reflect !== Reflect) {
for (var p in Reflect) {
__global.Reflect[p] = (<any>Reflect)[p];
}
}
}
else {
__global.Reflect = Reflect;
}
})(
typeof window !== "undefined" ? window :
typeof WorkerGlobalScope !== "undefined" ? self :
typeof global !== "undefined" ? global :
Function("return this;")());
因此,我從所有其他文件中刪除了需要反射元數據,並將其移至主文件。
require('reflect-metadata/Reflect');
現在,我可以用它所有的模塊內(無需反映的元數據)與下面的語法,
(<any>global).Reflect.getMetadata("design:type", target, key); // In Typescript
編輯: 我們還可以引用反映,metadata.d.ts文件來自node_modules,然後直接使用API。
/// <reference path="../../node_modules/reflect-metadata/reflect-metadata.d.ts" />
Reflect.getMetadata("design:type", target, propertyKey);
+0
哇,這真的很糟糕。不是你的答案 - 但是,所有的一切es6-import打字稿都是無緣無故的巨大痛苦。沒有人可以使用相同的模式。 –
相關問題
- 1. C#好友類/元數據和反射
- 2. 模塊問題中的TypeScript元數據
- 3. 使用Typescript映射數據庫模式
- 4. 沒有反應數據Angularjs POST/TypeScript
- 5. Typescript hinting + webstorm + nodejs + require
- 6. TypeScript - 傳遞一個類作爲參數,並反射
- 7. 在TypeScript中映射泛型函數中的映射類型
- 8. C++中的元類和反射
- 9. 帶TypeScript類的NodeJS EventEmitter
- 10. nodejs中的TypeScript模塊導入
- 11. Nodejs中的Typescript導入機制
- 12. Angular/Typescript單元測試與數據表
- 13. GLSL中的反射映射
- 14. Angular2未能更新到RC7 - zone.js和反射元數據
- 15. Angular 2和VS代碼調試問題:反射元數據
- 16. 什麼是反射元數據及其用途
- 17. 使用反射從元數據類獲取屬性屬性
- 18. Java反射和元編程
- 19. Restkit元數據不映射
- 20. TypeScript和NodeJS項目配置
- 21. TypeScript + NodeJS readline屬性丟失
- 22. 部署Typescript NodeJS服務器
- 23. TypeScript for NodeJS通過SystemJS
- 24. 反射超載。爲反射可變參數值填充反射數組方法
- 25. JavaScript中的反射
- 26. python中的反射
- 27. Java中的反射
- 28. Android中的反射?
- 29. asp.net中的反射
- 30. C++中的反射
沒有下面提供的答案是正確的答案?你能否就你想要達到的目標添加更多細節,以及爲什麼下面的答案不能滿足你的需求? – eAbi