我一直坚持用正确的方式将一个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