我一直堅持用正確的方式將一個AMD JavaScript庫(https://github.com/dcodeIO/bytebuffer.js)導入到TypeScript文件中。在TypeScript文件中導入AMD JS庫
我發現它的 - 不是最新的類型定義(https://github.com/SINTEF-9012/Proto2TypeScript/commit/0889dccbf6048f116551a73e77d75dd83553cfe6),但實際上我無法找到一種方法來使用它並讓該庫被RequireJS加載。
這是我使用的代碼:
/// <amd-dependency path="Scripts/bytebuffer" />
var ByteBuffer = require('Scripts/bytebuffer');
import protocols = require('protocols');
export class Pippo
{
readPayload(payload: ArrayBuffer, ECType: string): any
{
var ECStruct = new protocols.ECStruct(ECType);
var bb = new ByteBuffer()
.writeIString("Hello world!")
.flip();
console.log(bb.readIString() + " from bytebuffer.js");
}
}
兩個模塊協議和字節緩衝區正確加載,但實際上我無法看到的實例BB的成員在Visual Studio。如果我放線
/// <reference path="scripts/typings/bytebuffer/bytebuffer.d.ts" />
和評論 // VAR字節緩衝區=需要( '腳本/字節緩衝區'); 當然我可以看到bb的方法和屬性,但該模塊在運行時不會被加載。
有沒有辦法有ByteBuffer.js通過RequireJS裝載看到它在VS成員的可能性?
感謝
我正在通過這個自己的Angular2的最新版本。我試圖包括一個基於AMD的JavaScript庫(沒有npm),我花了不尋常的時間讓它工作。真正令人驚訝的是,很少有信息能夠正確地做到這一點 - 所有東西都像是黑客攻擊,並且使用SystemJS等做了一些假設。我確實從Typescript找到了這個頁面,但我仍然不在那裏。也許它會幫助你。 https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html – henry74