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

时间:2019-09-22 15:17:42

标签: javascript node.js electron knex.js

我正在尝试在 preload js 脚本而不是 Main Process

中加载knex

我虽然使用module.exports主流程导入了 knex ,但是却遇到了新的错误

  

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

     

/ home / alexander / Deve ... enderer / init.js:167 TypeError:无法读取   属性“ on”未定义

当我在预加载中添加此内容时

//preload js

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

我最终在电子应用程序devtools中遇到了这些错误

  

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

     

/home/alexander/Deve…enderer/init.js:167ReferenceError:未定义路径   (匿名)@/home/alexander/Deve…enderer/init.js:167

1 个答案:

答案 0 :(得分:0)

您的错误:

ReferenceError: path is not defined

您使用path 所以尝试

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

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