Gulp 大口呼唤电子

Gulp 大口呼唤电子,gulp,electron,Gulp,Electron,我有一个用Electron开发的应用程序。我正试图简化我的构建过程。例如,缩小一些代码。我的挑战是,我不知道如何启动应用程序从吞咽。目前,我有一项任务如下所示: gulp.task('run', function() { var runSequence = require('run-sequence'); runSequence(['clean', 'copy-resources', 'copy-package'], function() { spawn('electron',

我有一个用Electron开发的应用程序。我正试图简化我的构建过程。例如,缩小一些代码。我的挑战是,我不知道如何启动应用程序从吞咽。目前,我有一项任务如下所示:

gulp.task('run', function() {
  var runSequence = require('run-sequence');
  runSequence(['clean', 'copy-resources', 'copy-package'], function() {
    spawn('electron', ['tmp/index.js']);
  });
});

gulp.task('clean', function() {
  return del(['tmp' + '/**/*']);
});

gulp.task('copy-resources', function() {
  return gulp.src('src/resources/**/*.*')
    .pipe(gulp.dest('tmp/resources'))
  ;
});

gulp.task('copy-package', function() {
  return gulp.src('package.json')
    .pipe(gulp.dest('tmp'))
  ;
});
当我运行这个,它就像我得到一个比赛条件。当electron尝试启动我的应用程序时,我会出现以下错误之一:

The app provided is not a valid electron app, please read the docs on how to write one: {url}

Error: Cannot find module '/Users/me/project/tmp/index.js'
或此错误:

The app provided is not a valid electron app, please read the docs on how to write one: {url}

Error: Cannot find module 'electron'
在控制台窗口中,我有时会看到以下错误:

Error: ENOENT: no such file or directory, stat '/Users/me/project/tmp/resources/components/firebase/README.md'
    at Error (native)
同样,这些错误并非每次都会发生。然而,至少有一个以上的错误(或另一个将要发生)。这让我感觉比赛状态正在发生。我可以在上面提到的目录中看到这个文件。同时,如果我从命令行使用以下命令,我可以运行该应用程序:

electron ./tmp/index.js

我不确定出了什么问题。

您可以尝试一个名为的软件包。我最近也用它来达到同样的目的,而且对我来说效果很好

您只需设置一个吞咽任务:

gulp.task('serve', function () {

  // Start browser process 
  electron.start();

  // Restart browser process 
  gulp.watch('app.js', electron.restart);

  // Reload renderer process 
  gulp.watch(['index.js', 'index.html'], electron.reload);
});
然后将一个客户端添加到

带有脚本标记的渲染过程

<script>require('electron-connect').client.create()</script> 

仅供参考,如果您的窗口可调整大小,您可能需要添加一个选项,以在调整大小时消除大量控制台消息<代码>client.create(主窗口,{“sendBounds”:false})
'use strict'; 
var app = require('electron').app;
var browser = require('electron').BrowserWindow;
var client = require('electron-connect').client;

app.on('ready', function () {
    var mainWindow = new browser({
        width: 400,
        height: 300
    });
    mainWindow.loadUrl('file://' + __dirname + '/index.html');

    // Connect to server process 
    client.create(mainWindow); 
});