如何导入位于 TypeScript 的 node_modules 文件夹中的节点模块?
当我尝试编译以下 TypeScript 代码时,我收到一条错误消息(名称 ''async'' 在当前范围内不存在):
// Converted from: var async = require('async');
import async = module('async');
如何导入位于 TypeScript 的 node_modules 文件夹中的节点模块?
当我尝试编译以下 TypeScript 代码时,我收到一条错误消息(名称 ''async'' 在当前范围内不存在):
// Converted from: var async = require('async');
import async = module('async');
您需要创建一个定义文件并包含以下内容:
module "async" {}
然后在您的 TypeScript 代码中添加对此定义文件的引用
///<reference path='definition-file.d.ts' />
import async = module('async');
打字稿中的标准“import blah = require('x')”语义完全不适用于节点模块。
解决此问题的最简单方法是显式定义、接口和使用 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;
npm install --save-dev @types/async
npm install --save async
和语法:
import * as async from "async"