混合编译后无法从模块导入

时间:2017-05-03 19:37:28

标签: javascript ecmascript-6 electron mix laravel-mix

我正在用ES6重写我的电子应用程序,使用Laravel Mix编译应用程序JS和SASS。现在,主进程可以很好地加载渲染过程。一旦发生这种情况,我的app.js就会加载,这就是我遇到问题的地方。所以我这样做:

import { remote } from 'electron';

在控制台中导致此错误:

Uncaught Error: Electron failed to install correctly, please delete node_modules/electron and try installing again

现在我已经尝试重新安装电子,即使电子在主要过程开始时起作用。该行在编译的js中引用了这个:

/* WEBPACK VAR INJECTION */(function(__dirname) {var fs = __webpack_require__(8)
var path = __webpack_require__(9)

var pathFile = path.join(__dirname, 'path.txt')

if (fs.existsSync(pathFile)) {
  module.exports = path.join(__dirname, fs.readFileSync(pathFile, 'utf-8'))
} else {
  throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
}

我不确定发生了什么,任何建议或信息都会有很大的帮助!

由于

修改:我已尝试使用--verbose

运行它
/Library/Caches/com.apple.xbs/Sources/AppleGVA/AppleGVA-10.1.16/Sources/Slices/Driver/AVD_loader.cpp: failed to get a service for display 3

2017-06-13 16:10:42.383 Electron Helper[47106:766924] Couldn't set selectedTextBackgroundColor from default ()

1 个答案:

答案 0 :(得分:0)

最有可能的问题来源是path.txt不存在。

path.txt安装electron时会生成

npm。如果您在安装electron时没有看到任何错误,则意味着错误会被抑制。

疑难解答:检查node_modules/electron/path.txt是否存在。如果没有,那么你就遇到了问题。

解决方案:

注意: 如果在Windows上,请使用原生CMD代替Git Bash

尝试通过执行以下脚本

npm install之后手动安装电子
cd node_modules/electron && node install.js

这可能需要一段时间,因为它将下载电子的完整包装。