给出以下目录结构:
{project}/
|-- node_modules/
| |-- lodash
|-- src/
| |-- index.ts
|-- lib/ (output)
| |-- index.js
| |-- index.d.ts
|-- package.json
|-- tsconfig.json
虽然内置输出功能正常; tsc
命令在我使用以下任何一项时抱怨它无法解析lodash模块:
import _ from "lodash";
import _ = require("lodash");
import * as _ from "lodash";
在我的' tsconfig.json'文件我包括以下内容:
...
"target": "es6",
"sourceMap": true,
"module": "commonjs",
"moduleResolution": "node",
...
但是尽管如此,它仍然没有找到使用npm安装的任何模块。
我是否遗漏了使TypeScript找到这些模块所需的东西?
我意识到没有TypeScript定义文件,TypeScript无法提供额外的类型检查;但是,当然这些应该默认为any
类型吗?
答案 0 :(得分:6)
由于lodash在node_modules / lodash文件夹中没有定义文件,因此无效。您必须使用typings下载它或使用环境声明而不是导入:
declare var _: any;
对于node.js,您必须使用:
var _ = require('lodash');