实时重新加载电子应用程序

chr*_*ber 12 gulp gulp-watch electron

我想使用VScode + Gulp + Electron的组合来构建应用程序.开发工作流程的一个很好的功能是在我的Gulp监视任务中添加一个实时重新加载任务,以便在每次更改时重新加载Electron应用程序.

任何想法如何实现这一目标?

非常感谢您的帮助.

Cod*_*iak 12

我能够通过gulp-livereload插件实现这一目标.以下是仅重新加载CSS的代码.但是其他一切都是一样的.

var gulp = require ('gulp'),
run = require('gulp-run'),
livereload = require('gulp-livereload'),
uglify = require('gulp-uglify'),
concat = require('gulp-concat'),
rename = require('gulp-rename'),
minifycss = require('gulp-minify-css'),
jshint = require('gulp-jshint'),
autoprefixer = require('gulp-autoprefixer'),
rimraf = require('gulp-rimraf');

var cssSources = [
  'app/components/css/main.css',
];

gulp.task('css', function(){
  gulp.src(cssSources)
  .pipe(concat('main.css'))
  .pipe(autoprefixer({browsers: ['last 2 versions', 'ie 10']}))
  .pipe(gulp.dest('app/public/styles'))
  .pipe(rename({suffix: '.min'}))
  .pipe(minifycss())
  .pipe(gulp.dest('app/public/styles'))
  .pipe(livereload());
})

gulp.task('watch', function(){
  livereload.listen();
  gulp.watch(cssSources, ['css'])
})

gulp.task('run', ['build'], function() {
  return run('electron .').exec();
});

gulp.task('default', ['watch', 'run']);
Run Code Online (Sandbox Code Playgroud)

桌面应用程序中的Livereload非常棒.

确保添加

<script src="http://localhost:35729/livereload.js"></script> 
Run Code Online (Sandbox Code Playgroud)

到你的index.html

  • 好的,我知道了。缺少的部分是添加`&lt;script src =“ http:// localhost:35729 / livereload.js”&gt; &lt;/ script&gt;标签。另外,无需在包含电子应用程序的目录中具有“ gulpfile.js”。如果您愿意添加此信息,我会将其标记为解决方案。谢谢你的帮助。 (2认同)

Ale*_*ber 11

虽然这已经得到了回答/接受,但值得一提的是我也设法让它与电子连接一起工作

  • 这实际上是一个很酷的插件感谢分享! (3认同)