繁体   English   中英

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

[英]Electron require node_modules in main process: Error: Cannot find module ‘linvodb3’

对于angular2 / electron学习应用程序,我使用LinvoDB基于angular2-electron-starter种子进行持久性数据存储,该种子带有两个package.json,一个在root中,一个在root / electron中。 成功打包后,app.exe会引发以下错误:

主流程中发生JavaScript错误

未捕获的异常:

错误:找不到模块“ linvodb3”

到目前为止,我尝试了:

  • 在/和/ electron中安装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,因为找不到指定位置的文件。

正如@JensHabegger所建议的那样,可以通过将node_modules从/ electron子文件夹复制到/ 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"
  },

暂无
暂无

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

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