Javascript 设置BrowserSync和Ripple Emulator
我目前正在使用Cordova平台开发hybird应用程序,并使用Ripple Emulator进行调试 应用程序本身并不真正依赖于目标平台的本机API,因此我可以使用Ripple emulator提供的一些模拟功能对其进行测试,而不用担心。每次我对源文件进行更改时,我的gulp任务都会编译javascript(我使用的是带babel的ES6),并使用browserify自动打包 但是,我需要重新加载浏览器选项卡,以便看到更改,更不用说如果重新加载选项卡,ripple将重新加载其模块和引擎 由于效率低下,我尝试创建一个自动重新加载(将更改注入)浏览器的“吞咽”任务。我使用以下设置:Javascript 设置BrowserSync和Ripple Emulator,javascript,cordova,gulp,browser-sync,livereload,Javascript,Cordova,Gulp,Browser Sync,Livereload,我目前正在使用Cordova平台开发hybird应用程序,并使用Ripple Emulator进行调试 应用程序本身并不真正依赖于目标平台的本机API,因此我可以使用Ripple emulator提供的一些模拟功能对其进行测试,而不用担心。每次我对源文件进行更改时,我的gulp任务都会编译javascript(我使用的是带babel的ES6),并使用browserify自动打包 但是,我需要重新加载浏览器选项卡,以便看到更改,更不用说如果重新加载选项卡,ripple将重新加载其模块和引擎 由于效
gulp.task('cordova-prepare', function() {
exec('cordova prepare');
});
gulp.task('reload', function() {
browserSync.reload();
});
gulp.task('script', function() {
var bundler = browserify("./src/Main.js");
bundler.transform("babelify", {presets: ["es2015"]});
bundler.bundle()
.on('error', function(err) { gutil.log(err); })
.pipe(source('app.js'))
.pipe(gulp.dest('./www/scripts'))
.pipe(browserSync.stream());
});
gulp.task('watch', function() {
gulp.watch('./src/**/*.js', ['script']);
gulp.watch('./www/**/*.html', ['cordova-prepare', 'reload']);
gulp.watch('./www/**/*.css', ['cordova-prepare', 'reload']);
gulp.watch('./www/**/*.js', ['cordova-prepare']);
});
gulp.task('watch-source', ['script'], function() {
gulp.watch('./src/**/*.js', ['script']);
});
gulp.task('ripple', ['script', 'watch'], function() {
var options = {
keepAlive: false,
open: true,
port: 4400
};
browserSync.init({
proxy: "http://localhost:" + options.port + "/?enableripple=cordova-3.0.0"
});
ripple.emulate.start(options);
});
主要问题是,每当我对javascript文件进行更改时,它都会重新加载选项卡,而不是注入更改。我也不太清楚cordova准备了什么命令,但似乎有必要在platform
文件夹中为当前平台创建web应用程序
请注意,我在script
任务中使用stream()
,以便注入javascript,但它不起作用
我所期望的是,当我更改一些文件时,它会将新文件注入浏览器选项卡(包括html和css)
有什么想法吗?但它没有提到何时进行注入以及何时进行完全重新加载,我能做些什么来强制它注入更改吗?CSS&Image->injection,everything->reload但它没有提到何时进行注入以及何时进行完全重新加载,我能做些什么来强制它注入更改吗?CSS&图像->注入,其他一切->重新加载