我正在一个项目中工作,我需要加载一个不在打字稿中的模块。在名为<select id="attributes" data-bind="value: value, valueAllowUnset: true,foreach:groupedAttributes" class="form-control">
<optgroup data-bind="attr : { label: name },foreach:things" label="default">
<option data-bind="text:name,value: $data"></option>
</optgroup>
</select>
<div data-bind="text: ko.toJSON(value)"></div>
的文件夹中,我在文件夹typings
中拥有所有的打字稿模块,我有javascript版本。问题是,当我尝试导入该模块时,找不到它。我该如何解决这个问题?
答案 0 :(得分:2)
在typings
中,您没有在打字稿中实现模块,而是javascript模块的类型定义(可能在node_modules
中)。有关详细信息,请参阅definitelytyped.org/。
您可以使用
安装mudule的类型定义$ tsd query PACKAGE_NAME -a install --save
使用此命令将更新tsd.json
文件,当您执行tsd reinstall
时,将再次安装该软件包。如果其他人正在开展该项目,这也很不错。他们可以使用tsd reinstall
安装所有类型定义(只要tsd.json
在您的存储库中)。
在.ts
文件中,您可以使用
import MODULE = require ('MODULE');
并使用
加载类型定义/// <reference path="../../../typings/MODULE/MODULE.d.ts" />
当然,你必须调整路径和名称。 如果您没有类型定义,则可以使用
加载javascript模块declare var require: any;
var MODULE = require('MODULE');
答案 1 :(得分:0)
tsd install node
其次是
var theJsModule = require('the-js-module');
使用--module commonjs