曾幾什麼時候,一直夢想可以有超酷的前端開發環境,加快工做進度,減輕工做強度,看了這張圖有些震撼了,慢慢研究他們是怎麼玩的。。。css
var projectrootabsdir = '/home/vagrant/Code/kidsit/'; gulp.task('less',function(){ var pagelessentry = config.pagelessentry; log(pagelessentry); return gulp .src(pagelessentry) .pipe(plumber()) .pipe(expect({ checkRealFile: true },pagelessentry)) .pipe(printfileinfo()) // .pipe(sourcemaps.init()) .pipe(less()) // .pipe(rename('bootstrap.css')) // .on('error',errorhandler) // .pipe(sourcemaps.write()) .pipe(gulp.dest(projectrootdir+'public/build/css/')); }); function startBrowserSync () { if(browserSync.active){ return; } log('starting browser-sync ...'); var options={ proxy: 'kidsit.cn', files: [projectrootabsdir+'public/build/css/**/*.css'], //projectrootdir+'public ghostMode: { clicks: true, location: false, forms: true, scroll: true }, injectChanges: true, logFileChanges: true, logLevel: 'debug', logPrefix: 'kidist-browser-sync', notify: true, reloadDelay: 0 }; browserSync(options); } gulp.task('watchless',function(){//entry task to be launched log(config.lessfiles); gulp.watch('../Code/kidsit/resources/assets/less/**/*.less', ['less']) .on('change',function (event) { // var srcPattern = new RegExp('/.*(?=/') log(event.type); }); startBrowserSync(); });
注意:browsersync的file watch功能只對絕對地址的文件有效,不能使用relative path的格式,不然files section無效!html
當你在使用laravel或者其餘的後端框架開發時,前端頁面每每由後端生成傳給瀏覽器,並非靜態的html,這時如何快速設計前端的頁面?這時最好就要使用browser-sync的proxy功能了:前端
browser-sync start --proxy="homestead.localhost" --files="resources\views\viewdirectory"
上面的例子就將proxy local dev 環境,而且watch 對應的view目錄,一旦view目錄中的文件變動,browsersync都將reload,提升開發的效率webpack
1. http://192.168.1.x 模式訪問(能夠在局域網內任何機器訪問web服務器)+ webpack dev host:8080/xxx.js 能夠經過HMR即改即看前端效果, 若是enable vConsole則能夠在mobile上產看js的log,查看dom結構laravel
該模式下,注意apache必須使用require all granted, 不然只能本地訪問,其餘機器訪問被拒絕!!web
2. http://ngrok.dnsname模式訪問本地web服務器 + webpack dev host:8080/xxx.js 既能夠調試後端internet回調,又能夠經過本地HMR即改即看前端效果, 若是enable vConsole則能夠在mobile上產看js的log,查看dom結構apache
以上兩種模式沒法調試移動端的css,可是也能夠利用webpack快速改,看效果gulp
3. ghostlab起一個服務器,模擬任何頁面,serve來自任何設備的訪問(能夠包含webpack dev host:8080/xxx.js),這個的好處是能夠調測任何移動端的css,而且可以多部設備同時測試,甚至支持任何填表單,cookie等有狀態的調試功能bootstrap