gpt4 book ai didi

node.js - 在 Angular 5 中,如何导入没有 @types 的 NPM 模块

转载 作者:太空狗 更新时间:2023-10-29 17:30:13 25 4
gpt4 key购买 nike

我正在尝试 Angular 5,从 angular-cli 开始一个项目。在这个项目中,我想使用一个 NPM 模块:J2M ( https://github.com/kylefarris/J2M ),所以我上网看了看这两个命令:

npm install j2m --save
npm install @types/j2m --save-dev

不幸的是,@types/j2m 根本不存在。所以我试图找到一种方法来定义我自己的类型,但没有成功......

我正在使用这段代码:

import * as J2M from "j2m";
...
console.log(J2M.toM(value));

但根据我在网上找到的示例,要么“j2m”无法识别,要么“toM”不是函数...

那么,导入这个模块的正确方法是什么?

谢谢,

最佳答案

您需要将脚本添加到您的 angular-cli.json 文件中。

scripts属性下,添加

'../node_modules/path/to/minified/js.js'

如果需要样式,您还必须在同一文件中的 styles 属性下添加它。

完成后,您的库已导入。这意味着您不需要使用诸如

import * from 'j2m';

但是如果你想在你的IDE不抛出错误的情况下使用一个全局变量,那么你应该添加

declare var J2M: any;

J2M 是从您的库中导出的全局函数(例如,对于 MomentJS,此变量称为 moment)。

当你使用定义文件时,它只是告诉 CLI 自动获取 JS 库,并为你提供 IDE 自动完成。使用此解决方案,您没有自动完成,并且您明确告诉 CLI 从何处获取库。

关于node.js - 在 Angular 5 中,如何导入没有 @types 的 NPM 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48761882/

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