简体   繁体   English

如何在电子的预加载 js 中运行 knex?

[英]How to run knex in electron's preload js?

I'm trying to load knex in the preload js script instead of in the Main Process我正在尝试在预加载 js脚本中而不是在主进程中加载knex

i have though of importing knex from Main Process using module.exports you get new errors我虽然使用module.exports主进程导入 knex, module.exports您会收到新错误

/home/alexander/Deve…enderer/init.js:166 Unable to load preload script: /home/alexander/Develop/Electron/App/app/preload.js /home/alexander/Deve...enderer/init.js:166 无法加载预加载脚本:/home/alexander/Develop/Electron/App/app/preload.js

/home/alexander/Deve…enderer/init.js:167 TypeError: Cannot read property 'on' of undefined /home/alexander/Deve...enderer/init.js:167 TypeError:无法读取未定义的属性“on”

When i add this in preload:当我在预加载中添加它时:

//preload js

var knex = require("knex")({
    client: "sqlite3",
    connection: {
        filename: path.join(__dirname, './database.sqlite')
    },
     useNullAsDefault: true
});  

I end up with these errors in the electrons app devtools我最终在电子应用程序开发工具中遇到了这些错误

/home/alexander/Deve…enderer/init.js:166 Unable to load preload script: /home/alexander/Develop/Electron/App/app/preload.js /home/alexander/Deve...enderer/init.js:166 无法加载预加载脚本:/home/alexander/Develop/Electron/App/app/preload.js

/home/alexander/Deve…enderer/init.js:167 ReferenceError: path is not defined (anonymous) @ /home/alexander/Deve…enderer/init.js:167 /home/alexander/Deve...enderer/init.js:167 ReferenceError: path is not defined (anonymous) @ /home/alexander/Deve...enderer/init.js:167

Your error:你的错误:

ReferenceError: path is not defined

you use path so try你使用path ,所以试试

//preload js
// added path
const path = require("path");

var knex = require("knex")({
    client: "sqlite3",
    connection: {
        filename: path.join(__dirname, './database.sqlite')
    },
     useNullAsDefault: true
});  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM