TypeScript 从npm导入模块
示例
如果模块具有类型定义文件(d.ts),则可以使用import语句。
import _ = require('lodash');
如果您没有模块的定义文件,TypeScript将在编译时抛出错误,因为它找不到您要导入的模块。
在这种情况下,可以使用正常的运行时require功能导入模块。但是,这将其返回为any类型。
// _变量的类型为any,因此TypeScript将不执行任何类型检查。const _: any = require('lodash');
从TypeScript 2.0开始,当没有模块的类型定义文件时,还可以使用简写的环境模块声明来告诉TypeScript模块存在。但是,在这种情况下,TypeScript将无法提供任何有意义的类型检查。
declare module "lodash";// 您现在可以按照任何希望的方式从lodash导入:
import { flatten } from "lodash";
import * as _ from "lodash";
从TypeScript 2.1开始,规则进一步放宽了。现在,只要node_modules目录中存在一个模块,即使没有任何地方的模块声明,TypeScript都将允许您导入它。(请注意,如果使用--noImplicitAny编译器选项,则以下内容仍会生成警告。)
// Will work if `node_modules/someModule/index.js` exists, or if `node_modules/someModule/package.json` has a valid "main" entry pointimport { foo } from "someModule";
以上是 TypeScript 从npm导入模块 的全部内容, 来源链接: utcz.com/z/326229.html