我正在尝试使用typescript 2.1.5中的moment.js
我用npm安装了一下:
npm install moment --save-dev
d.ts文件包含在moment.js中,因此不需要通过@typings安装,但是当我编译项目时,我收到以下错误:
错误TS2307:找不到模块'时刻' .
这是一个简单的测试我重复这个问题 .
repro.ts文件
import * as moment from "moment";
const date = moment().format("YYYY");
console.log(date);
tsconfig.json文件:
{
"compilerOptions": {
"module": "amd"
}
}
如果我编译:
.\node_modules\.bin\tsc
我收到了错误 . 我注意到如果我的目标是commonjs模块(“模块”:tsconfig中的“commonjs”),编译就可以了 .
如果我定位amd模块,使用时刻的正确方法是什么?
1 回答
您必须在
tsconfig.json
中将"moduleResolution": "node"
添加到compilerOptions
.省略时,
moduleResolution
默认为classic
,除非module
是commonjs
,这就是在node_modules
中找不到模块的原因 .此外,在将来的某个版本的编译器中,它看起来像是going to be fixed .