首页 文章

使用带脚本和“模块”的moment.js:“amd”

提问于
浏览
1

我正在尝试使用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 回答

  • 2

    您必须在 tsconfig.json 中将 "moduleResolution": "node" 添加到 compilerOptions .

    省略时, moduleResolution 默认为 classic ,除非 modulecommonjs ,这就是在 node_modules 中找不到模块的原因 .

    此外,在将来的某个版本的编译器中,它看起来像是going to be fixed .

相关问题