在TypeScript中导入节点模块
如何导入驻留在TypeScript的node_modules文件夹中的节点模块?
当我尝试编译下面一段TypeScript代码时,出现错误消息( 名称“async”在当前作用域中不存在 ):
// Converted from: var async = require('async'); import async = module('async');
您需要创build一个定义文件并包含这个:
module "async" {}
然后在TypeScript代码中添加对此定义文件的引用
///<reference path='definition-file.d.ts' /> import async = module('async');
typescript中的标准“import blah = require('x')”语义不能用于节点模块。
解决这个问题的最简单的方法就是明确地定义和接口并使用require,而不是import:
// 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"