如何导入位于TypeScript中的node_modules文件夹中的Node模块?
当我尝试编译以下的TypeScript代码时,我收到一条错误消息(名称''async''在当前作用域中不存在):
// Converted from: var async = require('async');
import async = module('async');
答案 0 :(得分:1)
您需要创建一个定义文件并包含以下内容:
module "async" {}
然后在TypeScript代码中添加对此定义文件的引用
///<reference path='definition-file.d.ts' />
import async = module('async');
答案 1 :(得分:1)
标准&#34; import blah = require(&#39; x&#39;)&#34;打字稿中的语义不适用于节点模块。
解决此问题的最简单方法是明确定义和界面并使用require,而不是导入:
// You can put this in an external blah.d file if you like;
// remember, interfaces do not emit any code when compiled.
interface qOrm {
blah:any;
}
declare var require:any;
var qOrm:qOrm = require("../node_modules/q-orm/lib/q-orm");
var x = qOrm.blah;
答案 2 :(得分:1)
npm install --save-dev @types/async
npm install --save async
语法:
import * as async from "async"