我试图使用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模块("模块":" commonjs"在tsconfig中),编译就没问题了
如果我定位amd模块,使用时刻的正确方法是什么?
答案 0 :(得分:2)
您必须在"moduleResolution": "node"
中将compilerOptions
添加到tsconfig.json
。
如果省略,moduleResolution
默认为classic
,除非module
为commonjs
,这是node_modules
中找不到模块的原因。
此外,在将来的编译器版本中,它看起来像going to be fixed。