【问题标题】:How to use a Node Javascript library in Angular?如何在 Angular 中使用 Node Javascript 库?
【发布时间】:2020-05-06 07:08:47
【问题描述】:

我正在使用 Angular 8。这是我想要使用的 NPM 库:https://www.npmjs.com/package/convert-units

但是,它可能是针对 Node.js 的,看起来如此。有什么方法可以让它在我的 Angular 组件中工作?

【问题讨论】:

  • 类似于this问题

标签: javascript node.js angular npm


【解决方案1】:

是的,您绝对可以在浏览器中使用许多 NPM 包(Angular、React 或任何其他框架/技术堆栈)。

至于convert-units 包。只需使用npm install convert-units --save 安装它,然后使用以下任一方式导入:

const convert = require("convert-units"); // as according to documentation

import * as convert from "convert-units"; // to use new ES syntax

示例:

【讨论】:

  • 收到此错误 - “解析为非模块实体,无法使用此构造导入。”
  • @RayNorman 尝试使用这个:stackoverflow.com/a/51758340/4358597
  • @AlexeyVolkov:如何通过 Angular 应用程序使“转换”可用?
【解决方案2】:

因为它是一个实用程序包,您可以在 node 和 angular 中使用它。 对于角度,您必须将导入更改为

import convert from 'convert-units';

【讨论】:

    【解决方案3】:

    首先安装npm包为

    npm install convert-units --save
    

    然后在您的组件导入中,如下所示

    import convert from 'convert-units';
    

    请找到有效的 stackblitz:https://stackblitz.com/edit/hello-angular-6-u27n5j

    【讨论】:

    • 感谢您的回答。我收到这个错误。 src/app/app.component.ts(2,8) 中的错误:错误 TS1192:模块“C:/Users/M1049043/Desktop/unit/unitt/node_modules/@types/convert-units/index”没有默认导出。
    • 你能尝试重建你的应用程序并测试它吗?
    • 我做到了。收到此错误 - “解析为非模块实体,无法使用此构造导入。”
    • 您是否在 tsconfig.json 中使用“allowSyntheticDefaultImports”:true?如果没有,请您添加并尝试
    • 是的,我是。尽管如此,导入语句中的“convert-units”部分仍被标记为红色。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2022-08-09
    • 2017-07-14
    • 2019-08-15
    • 2023-03-23
    相关资源
    最近更新 更多