javascript - 我如何使用 adonis js 和 nuxt 以及 Electron 和本地数据库(如 mongoDB 或 Sqlite)?

标签 javascript vue.js electron nuxt.js adonis.js

我想创建一个可以在桌面上运行的应用程序 我将使用 nuxtjs 和 adonis。

我的问题是如何向其中添加 Electron js并使用本地数据库(如sqlite) 因为当我创建 nuxt adonis 应用程序时,我无法添加 Electron 到它,实际上我如何在这个桌面应用程序中处理我的数据库

最佳答案

assuming that your other queries are solved after reading comments.. so explaining only mongodb part...

使用社区中广泛使用的一些常见变量和函数名称来说明示例...

mainWindowcerateWindow...

如果你想从 Electron 运行mongodb,你可以使用child_process.execFile从 Electron 生成非阻塞进程..

您可以在createWindow之前或之后运行..

在直接从主进程运行它之前,并使用 child_processstdoutstderr 来获得可能的结果...

如果您想在createWindow之后运行它,请发送信号从mainWindow通过ipcRenderer或任何您喜欢的方式运行它。 ..

代码示例-

const { execFile } = require('child_process')

let mongoDbCP = execFile('path_to_mongod_file, ['--dabpath=path_to_db', 'any_other_args], { 'any_options': 'if_you_want_to_pass_for_child_process' }, (error) => { \* handle error *\ })

mongoDbCP.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

如果您在 windows 上,那么每当您退出应用程序时 mongod 也会退出... 但在 macos 上,您需要在显式使用 killall [process_name]kill -9 [process_pid] 退出之前手动终止..

关于javascript - 我如何使用 adonis js 和 nuxt 以及 Electron 和本地数据库(如 mongoDB 或 Sqlite)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55986135/

相关文章:

css - 将 font awesome 导入 laravel mdb vue 环境

javascript - 如何在使用 vue-resource 时使用 data(){} 但不使用 Mounted(){} 来启动函数

Angularjs2 + Electron + Angularfire2

javascript - Electron-packager 在构建的应用程序中排除 .obj 模型文件

javascript - 检测指令中的 ng-repeat 元素长度变化

javascript - 将包含单个整数的数组传递给 Uint8Array 会对传递给它的内容产生什么影响?

javascript - 如何检查对象是否为日期?

javascript - 计算过程中 Macrotask 和 Microtask 队列的状态

vue.js - OIDC 客户端支持 Multi-Tenancy - oidc-client 抛出 "no matching state found in storage"

node.js - child_process.on ('close')有时会很慢