gpt4 book ai didi

node.js - TypeScript 不会解析外部模块 (node.js)

转载 作者:搜寻专家 更新时间:2023-10-30 20:37:49 26 4
gpt4 key购买 nike

我想在我的 Node 应用程序中使用 moment.js,所以我使用 Node 的包管理器 npm 安装了 moment.js:

npm install moment@2.4.0

为了安全起见,我检查了 moment 没有全局安装,安装的版本确实是 2.4.0 版(2.4.0 版是为了使用正确的 d.ts 文件......)

require("moment").version

好吧,看起来不错。我还在使用最新版本的 TypeScript (0.9.5)。

所以,现在我将以下文件添加到我的项目根目录https://github.com/borisyankov/DefinitelyTyped/blob/master/moment/moment.d.ts并引用文件:

/// <reference path="moment.d.ts" />

现在,它应该可以使用 TypeScripts import 关键字导入时刻:

import m = require("moment");

使用以下命令编译

tsc app.ts --module commonjs

产生以下错误

/home/unknown/temp/test/app.ts(3,1): error TS2071: Unable to resolve external module '"moment"'. /home/unknown/temp/test/app.ts(3,1): error TS2072: Module cannot be aliased to a non-module type.

为什么会出现这个错误?我该如何解决?

最佳答案

d.ts 文件中重要的一行是...

declare var moment: MomentStatic;

它只是暂时声明一个变量。

您可以添加以下行来解决您的问题:

export = moment;

这应该可以使用您拥有的 import 语句加载它。

如果您这样做 - 您将不需要引用评论。

关于node.js - TypeScript 不会解析外部模块 (node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20777131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com