so my projects structure is the same as in vue project but also see a src-tauri folder in the root. i am little but confused in this structure and its dependencies because it seems like project in project.
so i created a services folder in src of my vue project and in database.js built a connection and configured some test query. and then i used it in my component :
import sqlite3 from 'sqlite3';// Create a database connection
const db = new sqlite3.Database('sqlite3.db', (err) => {
if (err) {
console.error('Database connection error:', err.message);
}
console.log('Connected to the SQLite database.');
});
// Example function to perform a query
function getUsers(callback) {
db.all('SELECT * FROM barbers', (err, rows) => {
if (err) {
console.error('Error querying users:', err.message);
return callback(err);
}
callback(null, rows);
});
}
export default {getUsers}
// vue component
<template>
<h1>Base Test</h1>
</template>
<script>
import getUsers from '../services/database.js';
export default {
name: 'data',
data() {
return {
users: []
};
},
mounted() {
getUsers((err, users) => {
if (err) {
console.error('Error getting users:', err);
return;
}
this.users = users;
console.log(this.users)
});
}
};
</script>
but i got the following error after tauri js app start, please help !!!enter image description here
i tried a lot of different ways but the error persists , maybe i should use some browser compatible modules like sql.js instead ?
The code you're executing is running the
nodeversion. Tauri does not support node anywhere, but it does support the browser environment.Instead use tauri-plugin-sql
Run
cargo add tauri-plugin-sql -F sqliteThen add npm package via
npm add @tauri-apps/plugin-sqlIn your rust code, call the builder like this:
And finally execute your sql query:
And remember to place your
test.dbinside oftauri::api::path::BaseDirectory::Appfolder.