首页 文章

电子在主进程中需要node_modules:错误:找不到模块'linvodb3'

提问于
浏览
0

对于angular2 /电子学习应用程序,我使用LinvoDB进行持久数据存储,基于angular2-electron-starter种子,它带有两个package.json,一个在根/一个在根/电子中 . 成功打包后,app.exe会抛出此错误:

主进程中发生JavaScript错误

未捕获的异常:

错误:找不到模块'linvodb3'

到目前为止我试过:

  • 在/和/电子中安装linvodb3(npm install linvodb3 --save)

  • 使用--build-from-source安装linvodb3

  • 在两个目录中使用电子重建

  • apm安装

  • 在类似问题上推荐的多个卸载和各种软件包的安装 .

  • var LinvoDB = require('linvodb3');在相应的模块和main.js中

  • const LinvoDB = require('electron').remote.require('linvodb3');

  • var LinvoDB = require('linvodb3');在index.html中类似于jQuery问题 .

我读到并且无法尝试的唯一事情是手动设置NODE_PATH,因为我找不到指定文件的位置 .

1 回答

  • 0

    正如@JensHabegger所建议的那样,初始问题可以通过将/ electron子文件夹中的node_modules复制到/ dist来解决,我是通过/package.json中的脚本来完成的 .

    未找到leveldown lib的更深层问题无法通过电子重建来修复,而是使用/electron/package.json中的安装后脚本:

    "scripts": {
        "start": "electron .",
        "postinstall": "cd node_modules/leveldown && node-gyp rebuild --target=1.4.8 --arch=x64 --dist-url=https://atom.io/download/atom-shell"
      },
    

相关问题