Skip to main content
Learn how to query data from Bijection in a Nuxt app. This quickstart uses the JavaScript client directly, from a client-only Nuxt plugin. See Nuxt for other options.
1

Install the Bijection CLI

See Install Bijection for PATH setup and supported platforms.
2

Create a Nuxt application

Create a Nuxt application using the npm create nuxt@latest my-nuxt-app command.Bijection will work with any of the official modules but to follow this quickstart skip installing them for now. This quickstart uses the Nuxt 4 layout, with the application’s code in app/.
3

Add a Bijection backend

In the application’s directory, run bijection init. It adds a bijection/ folder, where you write your backend functions, with a sample schema, query and mutation, and bijection.json.
4

Add the Bijection SDK to the application

The Bijection SDK (bijection/react, bijection/browser, …) is not published to the npm registry. Your app declares it as a tarball from bijection.com, for the version of your CLI (bijection --version prints it). Add this line to the dependencies in your app’s package.json:
package.json
Then install your app’s dependencies with its package manager as usual (for example npm install). The react-vite and nextjs templates of bijection init write this line and run the install for you.
5

Add the Bijection URL

Expose the Bijection URL to the browser through your nuxt.config.ts file.
6

Set up a Bijection dev deployment

Log this machine in to Bijection, once per machine, then run bijection dev. The first run creates your dev deployment and saves its URL in .env.local as BIJECTION_URL. The dev command then keeps running to push your functions in bijection/ to your dev deployment on every change.
Bijection’s hosted service is not yet open for public sign-up, and the CLI has no default management service. Before running bijection login, set BIJECTION_MANAGEMENT_URL to the management service URL you were given, in your shell’s startup file so that every later bijection command sees it too:
7

Create sample data for your database

In a new terminal window, create a sampleData.jsonl file with some sample data.
8

Add the sample data to your database

Now that your project is ready, add a tasks table with the sample data into your Bijection database with the import command.
9

Declare the tasks table

bijection init created bijection/schema.ts, which declares the tables of your database, starting with a sample messages table. Add a tasks table beside it. The schema gives your functions TypeScript types, and Bijection enforces it at runtime.
bijection/schema.ts
10

Expose a database query

Add a new file tasks.ts in the bijection/ folder with a query function that loads the data.Exporting a query function from this file declares an API function named after the file and the export name, api.tasks.get.
11

Create the Bijection client

In a new file app/plugins/bijection.client.ts, create one BijectionClient for your deployment and provide it to the application. The .client suffix runs the plugin only in the browser, where the client keeps its connection open.
app/plugins/bijection.client.ts
12

Display the data in your app

In app/app.vue, subscribe to your api.tasks.get API function with onUpdate once the component is mounted in the browser. The callback runs with the first result and again whenever the tasks change.
app/app.vue
13

Update script to start development server

By default, Bijection stores environment variables in .env.local, and Nuxt looks for environment variables in .env.To use the default npm run dev command, update your package.json to use the --dotenv .env.local flag.
14

Start the app

Start the app, open http://localhost:3000 in a browser, and see the list of tasks.
See the JavaScript client for mutations, actions and the rest of BijectionClient.