1. 程式人生 > >使用zen coding、gulp、livereload、sass提高前端編碼效率

使用zen coding、gulp、livereload、sass提高前端編碼效率

簡單地說,livereload做了這麼一件事情:監測網頁檔案的變化,自動重新整理瀏覽器,實時呈現效果。 

這裡要在瀏覽器上安裝相應外掛,我在chrome上安裝的是 LiveReload 2.1.0

注意:

livereload外掛啟動時,中心的原點是實心的!當你發現原點是空心的時候,手動點選開啟~



四、gulp 
gulp大有取代grunt之勢。

它的理念就是--“用自動化構建工具增強你的工作流程!”

我們這裡來利用它實現一些自動化任務:

1、監測帶sass檔案修改後,自動編譯sass,重新整理瀏覽器;

2、檢測到html檔案發生變化,重新整理瀏覽器

----------------------分隔線------------------------------------

上面是一些簡單的介紹,下面開始怎麼構建專案
五、實施教程 

1)環境要求:
1、安裝nodejs 
2、安裝ruby 

步驟:
1、新建專案

這裡簡單地新建一個資料夾,後面我們手動安裝包,新增配置檔案。


2、初始化package.json配置檔案:

命令列中輸入:

npm init
輸入這個命令後,會提示你輸入專案名稱、版本號、等等資訊,按照提示輸入即可。

輸入完成後,根目錄下會生成package.json檔案,開啟可以看到類似下面的程式碼:

{
  "name": "testgulp-demo",
  "version": "1.0.0",
  "description": "test gulp build tools",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "wanghao",
  "license": "ISC"
}

現在這裡面並沒有我們需要關心的東西,接著往下走:

3、安裝npm包

安裝我們專案需要的一些外掛:

命令列中執行下面命令:

npm install gulp gulp-ruby-sass  connect-livereload gulp-connect --save-dev
安裝完成之後,專案根目錄下會生成node_modules資料夾,這裡存放著剛剛安裝的外掛。
同時開啟package.json檔案,我們會發現多了devDependencies欄位,理解為開發過程中需要的包。(注:npm install 命令後面附上--save-dev會將新安裝的包新增到devDependencies裡面
  "devDependencies": {
    "connect-livereload": "^0.5.4",
    "gulp": "^3.9.1",
    "gulp-connect": "^3.2.2",
    "gulp-ruby-sass": "^2.0.6"
  }

配置包管理的一個好處就是,在將程式碼用在他處時,只需要拷貝出自己寫的原始檔和package.json即可,在新的專案裡面執行npm init(後面不加引數),npm包管理系統會根據package.json的配置自動安裝所需包。

4、新建一些資料夾,管理程式碼

我在根目錄下面新建了public資料夾存放前端程式碼;

public下面新建sassstylesheets資料夾分別存放sass檔案和編譯後的css檔案

所以現在專案根目錄是這樣的:


public資料夾:


5、編寫gulpfile.js

在專案的根目錄下執行gulp命令,系統執行gulpfile.js的內容:

下面直接附上我寫好的:

var gulp = require('gulp');
var connect = require('gulp-connect');
var sass = require('gulp-ruby-sass');

//建立watch任務去檢測html檔案,其定義了當html改動之後,去呼叫一個Gulp的Task
gulp.task('watch', function() {
    gulp.watch(['./public/*.html'], ['html']);
    gulp.watch(['./public/sass/*.scss'], ['sass']);
  
});

gulp.task('connect', function() {
    connect.server({
        root: 'public',
        livereload: true
    });
});
 
gulp.task('sass', function() {
  return sass('./public/sass/*.scss', { style: 'expanded' })
    .pipe(gulp.dest('./public/stylesheets'))
    .pipe(connect.reload())
});
gulp.task('html', function() {
    gulp.src('./public/*.html')
        .pipe(connect.reload())


});


//執行Gulp時,預設的Task
gulp.task('default', ['connect', 'sass','watch']);

當然大家也可以根據自己的實際業務需求自己編寫gulpfile 這裡不對gulp的配置方法做說明,大家可以去網上查詢相關教程。

以上,所有的專案初始化工作已經完成!!!

--------------------------------------------------------------------------------------------

下面給出接著編寫程式碼的例項,測試一下專案的構建是否成功。

大家感受一下這種配置的妙處!

 1、在public資料夾下面新建index.html

記得使用zen coding

html:5
Tab後,生成了一份標準的html5模板。

2、開啟終端,切換到專案根目錄下面:

gulp
這個命令後面不用跟任何引數,預設執行default任務。
當出現如下輸出時,gulp啟動成功····

在瀏覽器中輸入