feathers/docs/guides/cli/client.md
2023-04-28 09:23:30 -07:00

64 lines
1.4 KiB
Markdown

---
outline: deep
---
# Client
A generated application can be used as an npm module that provides a [Feathers client](../../api/client.md). It gives you a fully typed client that can be installed in any TypeScript (e.g. React, VueJS, React Native etc.) application.
## Local installation
The application can be linked into a client application by running
```
npm run bundle:client
npm link
```
Then go to your client side app
```
cd path/to/client
npm link my-app
```
## Creating a package
To create an installable SDK package that does not include any of the server code (other than the shared types) you can run
```
npm run bundle:client
```
By default this will create an `appname-x.x.x.tgz` npm package in the `public/` folder.
This package can be installed from a running server via
```
npm install https://myapp.com/appname-x.x.x.tgz
```
## Usage
Once installed, the application can be used as follows with Socket.io:
```ts
import io from 'socket.io-client'
import socketio from '@feathersjs/socketio-client'
import { createClient } from 'my-app'
const connection = socketio(io('https://myapp.com'))
const client = createClient(connection)
```
And like this with a REST client:
```ts
import rest from '@feathersjs/rest-client'
import { createClient } from 'my-app'
const connection = rest('https://myapp.com').fetch(window.fetch.bind(window))
const client = createClient(connection)
```