Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何加载定义为内部模块(tsd)的外部typescript模块_Typescript_Tsd - Fatal编程技术网

如何加载定义为内部模块(tsd)的外部typescript模块

如何加载定义为内部模块(tsd)的外部typescript模块,typescript,tsd,Typescript,Tsd,我正在尝试在我的项目中加载模块:Angular 2 beta-0,Typescript 1.7,使用SystemJs 0.19.4 我有一个解决办法:通过更改为我安装的.d.ts文件tsd。我想知道在不改变原始typescript定义文件的情况下,我能做些什么来加载模块: 通过我的更改,我当前可以加载nouislider,并在我的Typescript项目和SystemJs中使用它,如下所示: import {create as createSlider} from 'noUiSlider/di

我正在尝试在我的项目中加载模块:Angular 2 beta-0,Typescript 1.7,使用SystemJs 0.19.4

我有一个解决办法:通过更改为我安装的.d.ts文件
tsd
。我想知道在不改变原始typescript定义文件的情况下,我能做些什么来加载模块:

通过我的更改,我当前可以加载
nouislider
,并在我的Typescript项目和SystemJs中使用它,如下所示:

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;
进入

我将模块的名称设置为'noUiSlider/distribute/noUiSlider',否则System.js不会从正确的路径加载模块。我导出create函数,否则我无法加载它


如何防止进行这两项更改?我很乐意自己创建一个引用内部模块定义的外部模块定义,或者在不改变nouislider.d.ts的情况下以其他方式实现相同的结果。我尝试了很多东西,但都没能成功,似乎在所有的文档中迷失了方向。非常感谢您的帮助。

除了创建请求并建议添加外,您恐怕无能为力


这应该只是增加了将其用作外部模块的可能性,而不会破坏任何现有用途

太好了,我实际上在一个单独的文件中添加了外部模块和内部模块之间的链接:///
声明模块'noUiSlider/distribute/noUiSlider'{export=noUiSlider;}
。这就是我想要的。谢谢
declare module 'noUiSlider/distribute/nouislider' {
    export function create(target : HTMLElement, options : Options) : void;
declare module 'noUiSlider/distribute/nouislider' {
     export = noUiSlider;
}