首页 > 解决方案 > 将不和谐 api 集成到 Angular 中

问题描述

所以我最近(昨天)发现了这个不和谐的 npm 包:https : //discord.js.org/#/,我在上面运行 npm install 并且它安装正确。但是,它似乎无法识别该库创建的任何类。我的 package.json 中列出了该库,但我找不到让它工作的方法...

import { Component, OnInit } from '@angular/core';
import * as Discord from 'discord.js'

@Component({
  selector: 'app-discord',
  templateUrl: './discord.component.html',
  styleUrls: ['./discord.component.scss']
})
export class DiscordComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    console.log(new Discord.Client())
  }

}

这引发的错误似乎都是指我的项目中缺少依赖项,但其中一些似乎是 NodeJS,这让我感到困惑。为简洁起见,我将在 hatbin 上发布代码,因为它会使我的帖子变得很混乱。https://hatebin.com/spiirlcopq

我的问题是,我可以在前端使用这个 api 吗?还是我需要不同的api?有一个 webpack 版本,但我还没有找到如何将 webpack 添加到我的代码中并拥有有形的智能感知。

编辑:我的 VSCode 确实注册了包,因为我的 intelissense 正在理解我正在尝试做的事情,并且输入 Discord 类名可以让我访问这些类,但由于某种原因它们不会加载。

标签: angularnpmdiscord.js

解决方案


Cipher 在另一个解决方案中提到的 Discord 浏览器 js 可能有一些优点,但是,我也无法让它工作。

我决定运行我自己的 NodeJS 服务器,然后在那里编写我的 API 特定功能。这确实有助于混淆我担心在客户端上的一些键。Discord 文档几乎在每一页上都写着不共享密钥。将其保留在服务器端将帮助您做到这一点。

就像一次被两只鸟扔石头一样;)

tl;dr 运行您自己的 NodeJS 服务器,然后在其上编写一个 API,您可以从您的 Angular 项目中调用它


推荐阅读