使用“导入”将 Faye 客户端包含在 Ionic 2 项目中
Posted
技术标签:
【中文标题】使用“导入”将 Faye 客户端包含在 Ionic 2 项目中【英文标题】:Include Faye Client in a Ionic 2 project with 'import' 【发布时间】:2017-04-26 06:24:11 【问题描述】:我想在 Ionic 2 项目中尝试 Faye,但我不明白如何将它添加到项目中。正如这里https://faye.jcoglan.com/download.html 所解释的那样,如果'require'可用,我会这样做:
var faye = require('faye');
如果我从我的网络服务器提供这个 javascript,我将只包含一个 Script 标记,指向 client.js,如下所示:
<script src='http://localhost:8000/faye/client.js'></script>
我在 Ionic 2 中试过这个
import Faye from 'faye';
//...
constructor(public navCtrl: NavController, platform: Platform, matchService: MatchService, faye : Faye) //...
这段代码产生了这个错误:
Typescript 错误:找不到名称“Faye”
如何使用“导入”来实现,以便在此项目中使用 Faye 浏览器客户端?
【问题讨论】:
【参考方案1】:通常您会在 npm @types 中查找类型声明,然后将软件包安装为 npm install @types/package_name.
但是这里好像没有添加faye包。
根据 IONIC 文档here
在将纯 JavaScript 模块添加到 Ionic 2 时,您必须在 declarations.d.ts 文件中包含声明。
【讨论】:
【参考方案2】:如果你看看faye exports at it's github source:
var Faye =
VERSION: constants.VERSION,
Client: require('./protocol/client'),
Scheduler: require('./protocol/scheduler'),
NodeAdapter: require('./adapters/node_adapter')
;
Logging.wrapper = Faye;
module.exports = Faye;
因此,你可以这样做
import VERSION, Client, Scheduler, NodeAdapter from 'faye'
或者,您想通过Faye.Client
联系Client
:
import * as Faye from 'faye'
【讨论】:
以上是关于使用“导入”将 Faye 客户端包含在 Ionic 2 项目中的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Faye Websockets向特定客户端发送消息?
如何使用 faye-websocket-ruby 向 websocket 客户端发送拒绝连接