Feathers 使用Client Package方便连接Server

Feathers最显着的特点之一是它也可以用作客户端。与大多数其他框架相比,它不是一个单独的库; 相反,您可以获得与客户端和服务器完全相同的功能。这意味着您可以使用服务和挂钩并配置插件。默认情况下,Feathers客户端会自动创建与Feathers服务器通信的服务。

为了连接到羽毛服务器,客户端创建服务使用一个REST或WebSocket连接中继方法调用,并允许监听事件在服务器上。这意味着Feathers应用程序实例的使用方式与服务器上的完全相同。

与客户最相关的模块是:

  • @feathersjs/feathers初始化一个新的Feathers 应用程序
  • @ feathersjs/rest-client通过REST HTTP连接服务。
  • @ feathersjs/socketio-client通过Socket.io连接服务。
  • @ feathersjs/primus-client通过Primus连接服务。
  • @ feathersjs/authentication-client用于验证客户端

重要提示:您不必在客户端上使用Feathers连接到Feathers服务器。上面的客户端章节还描述了如何在客户端没有Feathers的情况下直接使用REST HTTP,Socket.io或Primus连接。有关验证的详细信息,请参阅验证客户端章节。

Node客户端

要连接到NodeJS中的Feathers服务器,请安装所需的客户端连接库(此处socket.io-client),Feathers核心库以及特定于连接的库:

npm install @feathersjs/feathers @feathersjs/socketio-client socket.io-client --save

然后像这样初始化:

const io = require('socket.io-client');
const feathers = require('@feathersjs/feathers');
const socketio = require('@feathersjs/socketio-client');

const socket = io('http://api.my-feathers-server.com');
const client = feathers();

client.configure(socketio(socket));

const messageService = client.service('messages');

messageService.on('created', message => console.log('Created a message', message));

// Use the messages service from the server
messageService.create({
  text: 'Message from client'
});

React Native 客户端

React Native使用与Node客户端相同。将所需的软件包安装到React Native项目中。

$ npm install @feathersjs/feathers @feathersjs/socketio-client socket.io-client
import io from 'socket.io-client';
import feathers from '@feathersjs/feathers';
import socketio from '@feathersjs/socketio-client';

const socket = io('http://api.my-feathers-server.com', {
  transports: ['websocket'],
  forceNew: true
});
const client = feathers();

client.configure(socketio(socket));

const messageService = client.service('messages');

messageService.on('created', message => console.log('Created a message', message));

// Use the messages service from the server
messageService.create({
  text: 'Message from client'
});

由于本机作出反应的Android不处理超时超过一分钟考虑设置较低值pingIntervalpingTimeoutfeathers-socketio服务器上。这将停止与此问题相关的警告。例如:

const app = feathers();
const socketio = require('feathers-socketio');

app.configure(socketio({
  pingInterval: 10000,
  pingTimeout: 50000
}));

https://crow.docs.feathersjs.com/api/client.html

你可能感兴趣的:(Feathers 使用Client Package方便连接Server)