2021-06-02 14:55:07 +03:00
---
2021-10-02 21:47:28 +03:00
title: Integrate with Tauri
2021-06-02 14:55:07 +03:00
---
import Alert from '@theme/Alert'
import Command from '@theme/Command'
import Link from '@docusaurus/Link'
< Alert title = "Please note" type = "warning" icon = "alert" >
You must have completed all the steps required for setting up the development environment on your machine. If you haven't done this yet, please see the < a href = "/docs/getting-started/intro#setting-up-your-environment" > setup page for your operating system< / a > .
< / Alert >
2021-10-02 21:47:28 +03:00
There are two ways to integrate with Tauri depends on your need:
- [Start a new Tauri project ](#1-start-a-new-tauri-project )
- Or [add Tauri to existing project ](#1-add-tauri-to-existing-project )
### 1. Start a New Tauri Project
```bash
yarn create tauri-app
#OR
2021-10-17 15:44:38 +03:00
npx create-tauri-app
2021-10-02 21:47:28 +03:00
```
Just follow the instructions and choose the web frontend framework you prefer. `create-tauri-app` will create a template project depends on your inputs. You can go straight to [check `tauri info` ](#3-check-tauri-info-to-make-sure-everything-is-set-up-properly ) after this.
### 1. Add Tauri to Existing Project:
The Tauri CLI tool helps you build your project, so install it at first.
2021-10-20 06:49:01 +03:00
You can install Tauri CLI [using `Node.js` ](#install-tauri-cli-package-as-a-dev-dependency ) or [using `Rust` ](#alternatively-install-tauri-cli-as-a-cargo-subcommand )
2021-10-02 21:47:28 +03:00
#### Install Tauri CLI package as a dev dependency:
2021-06-02 14:55:07 +03:00
```bash
cd project-folder
# Not required if you already have a package.json:
# yarn init
# OR
# npm init
yarn add -D @tauri -apps/cli
# OR
npm install -D @tauri -apps/cli
```
< Alert title = "Note" >
You can install Tauri as both a local and a global dependency, but we recommend installing it locally.
< / Alert >
If you decide to use Tauri as a local package with npm (not yarn), you will have to define a custom script to your package.json:
```js title=package.json
{
// This content is just a sample
"scripts": {
"tauri": "tauri"
}
}
```
2021-10-02 21:47:28 +03:00
#### Alternatively, install Tauri CLI as a cargo subcommand:
This will install `tauri-cli` as a Cargo subcommand on the cargo binary folder (by default on `$HOME/.cargo/bin` ):
```bash
cargo install tauri-cli --version ^1.0.0-beta
```
For more installation options, see [`cargo install` ](https://doc.rust-lang.org/cargo/commands/cargo-install.html#description )
#### Install Tauri API Package as a Dependency (optional):
2021-08-14 16:35:33 +03:00
The `@tauri-apps/api` package is recommended for projects using ES modules or modern build tools such as Webpack or Vite. It is the most secure way to access the Tauri APIs.
```bash
yarn add @tauri -apps/api
# OR
npm install @tauri -apps/api
```
2021-06-02 14:55:07 +03:00
### 2. Initialize Tauri in Your App
< Command name = "init" / >
This command will place a new folder in your current working directory, `src-tauri` .
```sh
└── src-tauri
├── .gitignore
├── Cargo.toml
├── rustfmt.toml
├── tauri.conf.json
├── icons
│ ├── 128x128.png
│ ├── 128x128@2x.png
│ ├── 32x32.png
│ ├── Square107x107Logo.png
│ ├── Square142x142Logo.png
│ ├── Square150x150Logo.png
│ ├── Square284x284Logo.png
│ ├── Square30x30Logo.png
│ ├── Square310x310Logo.png
│ ├── Square44x44Logo.png
│ ├── Square71x71Logo.png
│ ├── Square89x89Logo.png
│ ├── StoreLogo.png
│ ├── icon.icns
│ ├── icon.ico
│ └── icon.png
└── src
├── build.rs
├── cmd.rs
└── main.rs
```
### 3. Check `tauri info` to Make Sure Everything Is Set up Properly:
< Command name = "info" / >
Which should return something like:
```
Operating System - Darwin(16.7.0) - darwin/x64
Node.js environment
Node.js - 12.16.3
@tauri -apps/cli - 1.0.0-beta.2
@tauri -apps/api - 1.0.0-beta.1
Global packages
npm - 6.14.4
yarn - 1.22.4
Rust environment
rustc - 1.52.1
cargo - 1.52.0
App directory structure
/node_modules
/src-tauri
/src
/public
App
tauri.rs - 1.0.0-beta.1
build-type - bundle
2021-06-15 19:37:24 +03:00
CSP - default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'
2021-06-02 14:55:07 +03:00
distDir - ../public
devPath - ../public
framework - Svelte
bundler - Rollup
```
This information can be very helpful when triaging problems.
### Patterns
We've also defined prebuilt configurations called "Patterns". They may help you to customize Tauri to fit your needs.
2022-01-07 15:30:23 +03:00
[See more about patterns ](/docs/guides/patterns/about-patterns ).
2021-06-02 14:55:07 +03:00
## Vue CLI Plugin Tauri
2021-10-17 15:44:38 +03:00
If you are using Vue CLI, it is recommended to use the official [CLI plugin ](https://github.com/tauri-apps/vue-cli-plugin-tauri ).