Angular 4中的QuickBlox JavaScript SDK

Angular 4中的QuickBlox JavaScript SDK,angular,npm,webpack,quickblox,Angular,Npm,Webpack,Quickblox,我尝试在Angular 4浏览器应用程序中使用QuickBlox JavaScript SDK 首先,我使用Angular CLI创建了一个新项目。然后我使用 npm install quickblox --save 在我的app.component.ts中,我添加了此导入 import { QB } from 'quickblox'; 当我尝试在代码中使用QB时,网页无法编译,出现以下错误: ERROR in ./~/node-xmpp-client/lib/Client.js Modul

我尝试在Angular 4浏览器应用程序中使用QuickBlox JavaScript SDK

首先,我使用Angular CLI创建了一个新项目。然后我使用

npm install quickblox --save
在我的
app.component.ts
中,我添加了此导入

import { QB } from 'quickblox';
当我尝试在代码中使用QB时,网页无法编译,出现以下错误:

ERROR in ./~/node-xmpp-client/lib/Client.js
Module not found: Error: Can't resolve 'child_process' in 'C:\dev\workspace_js\qb\node_modules\node-xmpp-client\lib'
 @ ./~/node-xmpp-client/lib/Client.js 15:11-35
 @ ./~/node-xmpp-client/index.js
 @ ./~/quickblox/src/modules/qbChat.js
 @ ./~/quickblox/src/qbMain.js
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
我试图将QB添加到
app.module.ts
,安装了
节点xmpp客户端
包,但没有任何效果。 也许我的进口声明错了?仅显示如何将其与
require
一起使用


如何将QuickBlox与Angular 4配合使用?我可以将npm包用于客户端(浏览器)应用程序吗?

当然,这似乎不是最佳解决方案。无论如何,您可以通过添加

module.exports.node = {
  child_process: 'empty'
}

在webpack config中。由于修改第三方库不是一个更好的主意,您可以尝试在index.html中添加以下内容:

<script src="https://cdnjs.cloudflare.com/ajax/libs/quickblox/2.11.0/quickblox.min.js"></script>

请尝试
console.log(QB)
以查看它是否已导入。

是否尝试在网页中使用此选项?QuickBlox看起来像一个后端模块,似乎需要节点api,而该api在浏览器中不可用。查看他们的文档时,您需要包含一个客户端脚本,而不是节点模块。@JasonGoemaat是的,我尝试为浏览器创建一个客户端应用程序。客户端脚本是他们文档中的标记吗?还是应该使用bower模块?抱歉问了这么愚蠢的问题。我只知道vanilla JS,是一个Java开发人员(现在我知道为什么了:P),我想是的,我自己从来没有使用过它。看起来从2.6开始,您只需要包含一个脚本,在2.5之前,您首先需要jquery,或者您可以使用bower。()当我通过index.html中的脚本标记包含该库时,如何访问该库中的对象?我需要解决.ts文件中的一些导入语句。但我尝试的导入无法解决。当我安装bower时,它说我应该使用npm或Thread://在Angular 4 CLI项目中修改webpack.config,我必须“弹出”它,并且不能再运行类似“ng serve”的命令。更新:弹出配置后,网页包开发服务器显示一些错误。除了
ng serve
之外,您可以使用
npm run build&npm run start
@SamuelJMathew或任何人,您能告诉我在爱奥尼亚3项目中在哪里可以找到/添加此配置吗?
declare var QB: any;