Angular 导入节点包

Posted

技术标签:

【中文标题】Angular 导入节点包【英文标题】:Angular import Node Package 【发布时间】:2019-12-26 14:17:33 【问题描述】:

我克隆了这个 Angular 项目:https://github.com/etherparty/explorer

我想在其中安装另一个模块:https://github.com/miguelmota/ethereum-input-data-decoder

我现在想在 Angular 中使用 npm 包的功能。它不起作用。

我采取的步骤:

npm install ethereum-input-data-decoder

试过了,是否有效。不!

然后我在 transactionInfosController.js 文件的第 1 行添加了导入,因为我想在那里使用新模块。

import  InputDataDecoder  from '../../ethereum-input-data-decoder';

程序部分崩溃并出现错误:

Uncaught SyntaxError: Unexpected token 

我意识到我错误地导入了节点包。

但是查看克隆的 git repo 的文件结构,我没有看到可以导入包的另一个文件。

我需要在哪里放置导入/我需要创建哪个文件?

编辑:需要 AngularJS 的答案

【问题讨论】:

你在 NodeJS 中使用ethereum-input-data-decoder 包??? 我是通过 npm install ethereum-input-data-decoder 安装的 试图让它在角度工作 【参考方案1】:

你可以试试这个:

import * as inputDataDecoder from 'ethereum-input-data-decoder'

或者正如托尼指出的那样

import InputDataDecoder as inputDataDecoder from 'ethereum-input-data-decoder'

如果你使用 angularjs,试试这个:

<script src='path_to_node_modules/ethereum-input-data-decoder'></script>

然后将其导入为:

angular.module('YourApp', ['InputDataDecoder']);

【讨论】:

不建议这样做。 Import * 会将所有内容导入您的应用程序 如果你看看github.com/miguelmota/ethereum-input-data-decoder/blob/master/…。 inputDataDecoder 是唯一被导出为模块的东西,所以我想这很好。或* 可以替换为InputDataDecoder 我需要把这个放在哪里?我可以把它放在第 1 行吗? github.com/etherparty/explorer/blob/master/app/scripts/… 是的,我猜在第 1 行 我收到Uncaught SyntaxError: Unexpected identifier

以上是关于Angular 导入节点包的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 2 应用程序中导入节点 js 模块

将 Node 模块导入 Angular 2

通过将组件名称指定为输入参数,将 Angular 组件导入另一个组件

angular 2 种子,webstorm 2016.1 突然停止导入库

Angular 模块导入的动态配置

无法在 Angular 9 中进行默认导入