gpt4 book ai didi

angular - 在 Angular 2 组件中使用 npm 包

转载 作者:行者123 更新时间:2023-12-04 17:49:41 25 4
gpt4 key购买 nike

我想在我的 Angular 4 组件中使用一个可用的 npm 包,但我正在努力让它工作。该包称为“ip”,可从 https://www.npmjs.com/package/ip 获得

我添加的包如下:

npm install ip --save

npm install --save @types/ip

在我的 app.module.ts 中我有:

import { isV4Format } from 'ip';

然后我将 isV4Format 添加到 app.module.ts 的导入列表中

然后我尝试在我的类中使用 ip 包,如下所示:

import { isV4Format } from 'ip';

export class TabValidator {
private static _check(address: string): any {
const ip = require('ip');
if (!myip.isV4Format(address)) { return { 'wrongFormat': true }; }
return null;
}
}

编译器提示组件:

Cannot find name 'require'

关于 app.module.ts:

Argument of type '{ declarations: (typeof InterfacesComponent | typeof EditnicComponent | typeof AppComponent)[]; i...' is not assignable to parameter of type 'NgModule'.

有人能告诉我上面有什么问题吗?我怀疑有一些问题。我在 SO 上发现了 2 个类似的问题,但它们似乎适用于不同的 Angular 版本。

最佳答案

SO 上有很多错误/过时的答案,包括这些错误的答案:

Cannot find name 'require' after upgrading to Angular4

Types not found

Angular 4: "Cannot find name 'require'

Angular 似乎让它变得更容易了;只需将其添加到您要使用节点模块的组件中:

export declare let require: any;
const ip = require('ip');

现在这可能不是实现您想要的效果的最佳方式,因为我读到了一些关于使用“require”会对代码共享或 Angular 中的类似内容产生负面影响的内容。但如果有人可以发布更好的答案,我会接受!

关于angular - 在 Angular 2 组件中使用 npm 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46086561/

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