【发布时间】:2015-12-25 15:05:22
【问题描述】:
我正在尝试在我的项目中加载nouislider 模块:Angular 2 beta-0, Typescript 1.7 using SystemJs 0.19.4。
我有一个解决方法:通过更改 .d.ts 文件 tsd 为我安装。我想知道在不改变原始打字稿定义文件的情况下,我可以做些什么来加载模块:nouislider.d.ts。
通过我的更改,我目前可以加载 nouislider 并在我的带有 SystemJs 的 Typescript 项目中使用它,如下所示:
import {create as createSlider} from 'noUiSlider/distribute/nouislider';
createSlider(document.getElementById('test-slider'), {
start: 40, connect: "lower",
range: { 'min': 0, 'max': 100 }
});
我所做的就是改变nouislider.d.ts顶部的这两行:
declare module noUiSlider {
function create(target: HTMLElement, options: Options): void;
进入
declare module 'noUiSlider/distribute/nouislider' {
export function create(target : HTMLElement, options : Options) : void;
我将模块的名称设置为“noUiSlider/distribute/nouislider”,否则 System.js 不会从正确的路径加载模块。我导出了 create 函数,否则我无法加载它
如何防止进行这两项更改?我会很满足于自己创建一个引用内部模块定义的外部模块定义,或者以其他方式在不更改 nouislider.d.ts 的情况下获得相同的结果。我已经尝试了很多东西,但无法使其工作,并且似乎迷失在所有文档中。非常感谢您的帮助。
【问题讨论】:
标签: typescript tsd