Ant*_*tiz 10 javascript browser-extension gulp browser-sync
我正在使用browsersync + gulp和一些很酷的浏览器插件,perfectPixel来命名一个.我的问题是每次我保存我的工作,它会强制浏览器重新加载,从而清除浏览器并关闭我的浏览器扩展.这导致我必须重新激活插件并继续这个效率低下的工作流程.有没有人有任何想法?
更新2015年7月7日 在Matthew下面,提供了一些包含websockets的解决方案的链接,但是我无法使用我的gulp设置.
var gulp = require('gulp'),
open = require('gulp-open'),
browserSync = require('browser-sync').create();
var WebSocketServer, socket, wss;
WebSocketServer = require('ws').Server;
wss = new WebSocketServer({
port: 9191
});
var reload = browserSync.reload;
var paths = {
css: 'app/REPSuite/web/static/css/*.css',
js: 'app/REPSuite/web/static/js/*.js',
html: 'app/*.html'
};
gulp.task('reload', function() {
var client, i, len, ref, results;
ref = wss.clients;
results = [];
for (i = 0, len = ref.length; i < len; i++) {
client = ref[i];
results.push(client.send('reload'));
}
return results;
});
socket = null;
this.reloadClient = {
connect: function() {
socket = new WebSocket('wss://localhost:9191');
socket.onopen = function() {
return console.log('connected');
};
socket.onclose = function() {
return console.log('closed');
};
return socket.onmessage = function(message) {
if (message.data === "reload") {
return window.chrome.runtime.reload();
}
};
},
disconnect: function() {
return socket.close();
}
};
// Static Server + watching scss/html files
gulp.task('serve', ['css'], function() {
browserSync.init({
server: "./app",
files: [paths.html, paths.css, paths.js]
});
gulp.watch(paths.css, ['css']);
gulp.watch(paths.html).on('change', browserSync.reload);
});
// Compile sass into CSS & auto-inject into browsers
gulp.task('css', function() {
return gulp.src(paths.css)
.pipe(browserSync.stream());
});
gulp.task('default', ['serve','reload']);
Run Code Online (Sandbox Code Playgroud)
浏览器同步无法本机执行此操作,因为默认情况下扩展被设计为在自己的沙箱中运行。
你需要用 websockets 编写一些自定义的东西来解决这个问题,我没有打扰,因为我需要一个快速修复,所以我最终使用了这个:
https://chrome.google.com/webstore/detail/extensions-reloader/fimgfedafeaadlieiabdeeaodndnlbhid
但这应该对你有帮助:
| 归档时间: |
|
| 查看次数: |
2674 次 |
| 最近记录: |