欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Mac OS上安裝使用Node.js的項目自動化構(gòu)建工具Gulp

 更新時間:2024年08月15日 17:18:25   投稿:goldensun  
Gulp是一個在使用上比Grunt更加簡潔的自動化工具(文中附有對比),和Node的npm包管理器配合使用非常方便,下面就記錄一下在Mac OS上安裝使用Node.js的項目自動化構(gòu)建工具Gulp的方法:

安裝 node.js
首先需要安裝 node.js, 通常情況下,只需要到 Node.js 官網(wǎng)下載安裝包安裝就可以了。不過我可恥的失敗了,彈出了如下錯誤:

2016618103000328.jpg (732×550)

于是我換成了 brew 大法:

brew install nodejs

安裝 Gulp

gulp 使用 Node.js 的 npm 命令安裝:

npm install --global gulp

然后在項目目錄中還要安裝一遍:

npm install --save-dev gulp

我對這步的操作比較費解。以我多年碼農(nóng)經(jīng)驗,即然全局安裝過了,應(yīng)該就可以在作何地方使用了。但 gulp 顯然不是這樣。如果不在項目目錄中執(zhí)行這一步,使用 gulp 命令時會提示以下錯誤:

… Local gulp not found in …

… Try running: npm install gulp

最后在項目目錄中執(zhí)行一下 gulp 命令,如果輸出以下內(nèi)容,那就表示安裝好了:

… No gulpfile found

簡單例子

下面展示使用 Gulp 構(gòu)建一個靜態(tài)網(wǎng)站開發(fā)服務(wù)端,并且支持實時刷新(livereload)功能。

首先需要安裝 livereload 的瀏覽器插件,插件地址:http://livereload.com/extensions/,支持 Chrome, Firefox, Safari 三大瀏覽器。插件安裝后,會在瀏覽器上出現(xiàn)一個按鈕,這個按鈕有兩個狀態(tài),實心圓點表示插件已啟用,空心圓點表示插件未啟用。切記切記!

然后創(chuàng)建一個簡單的項目結(jié)構(gòu):

./gulpfile.js
./public/
./public/index.html

使用以下命令安裝 gulp 和相關(guān)的組件:

npm install --save-dev gulp gulp-connect

gulp-connect 是 gulp 插件,提供了靜態(tài) web 服務(wù)端功能,并整合了 livereload 功能。

接下來需要編輯 gulpfile.js 文件,內(nèi)容如下:

var gulp = require('gulp'),
    connect = require('gulp-connect')

  gulp.task('server', function() {
    connect.server({
      root: 'public',
      livereload: true
    })
  })

  gulp.task('html', function() {
    gulp.src('./public/*.html').pipe(connect.reload())
  })

  gulp.task('watch', function() {
    gulp.watch(['./public/*.html'], ['html'])
  })

  gulp.task('default', ['watch', 'server'])

最后運行這個 web 服務(wù)器:

gulp
打開瀏覽器,訪問 http://localhost:4000。然后嘗試修改 index.html 文件的內(nèi)容后保存,正常情況下,瀏覽器端應(yīng)該會自動刷新并顯示修改后的內(nèi)容。


Gulp與Grunt簡單對比
讓我們來看個范例,分別在Gulp及Grunt建構(gòu)Sass:

Grunt:

sass: { 
 dist: {
  options: {
   style: 'expanded'
  },
  files: {
   'dist/assets/css/main.css': 'src/styles/main.scss',
  }
 }
},

autoprefixer: { 
 dist: {
  options: {
   browsers: [
    'last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'
   ]
  },
  src: 'dist/assets/css/main.css',
  dest: 'dist/assets/css/main.css'
 }
},

grunt.registerTask('styles', ['sass', 'autoprefixer']); 

Grunt需要各別配置,指定其來源與目的路徑。例如,我們將一個檔案作為Sass的輸入,并儲存輸出結(jié)果。在設(shè)置Autoprefixer時,需要將Sass的輸出結(jié)果作為輸入,產(chǎn)生出一個新檔案。來看看在Gulp中同樣的配置:

Gulp:

gulp.task('sass', function() { 
 return gulp.src('src/styles/main.scss')
  .pipe(sass({ style: 'compressed' }))
  .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
  .pipe(gulp.dest('dist/assets/css'))
});

在Gulp中我們只需要輸入一個檔案即可。經(jīng)過Sass處理,再傳到Autoprefixer,最終取得一個檔案。這樣的流程加快建構(gòu)過程,省去讀取及寫出不必要的檔案,只需要最終的一個檔案。

相關(guān)文章

  • Node.js中Sequelize?hook的使用方法小結(jié)

    Node.js中Sequelize?hook的使用方法小結(jié)

    Sequelize?提供了多個?hook,用于在執(zhí)行數(shù)據(jù)庫操作時執(zhí)行一些自定義邏輯,本文為大家整理了一些常用的?Sequelize?hook?列表及其作用,希望對大家有所幫助
    2024-02-02
  • 從零開始學(xué)習(xí)Node.js

    從零開始學(xué)習(xí)Node.js

    這篇文章主要介紹了從零開始學(xué)習(xí)Node.js結(jié)合具體實例形式分析了使用方法與相關(guān)注意事項,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • nodejs批量修改文件編碼格式

    nodejs批量修改文件編碼格式

    本文給大家分享一段代碼,主要是解決了在項目中遇到的一個問題,批量將GBK編碼轉(zhuǎn)換為UTF8,非常實用,推薦給大家。
    2015-01-01
  • 如何在NestJS中添加對Shopify的WebHook驗證詳解

    如何在NestJS中添加對Shopify的WebHook驗證詳解

    這篇文章主要為大家介紹了如何在NestJS中添加對Shopify的WebHook驗證詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • nodejs對mongodb數(shù)據(jù)庫的增加修刪該查實例代碼

    nodejs對mongodb數(shù)據(jù)庫的增加修刪該查實例代碼

    在本篇文章里小編給大家整理的是一篇關(guān)于nodejs對mongodb數(shù)據(jù)庫的增加修刪該查實例代碼,有需要的朋友們可以參考下。
    2020-01-01
  • node.js中Util模塊作用教程示例詳解

    node.js中Util模塊作用教程示例詳解

    這篇文章主要為大家介紹了node.js中Util模塊的教程示例詳解,帶大家充分的了解node.js的util模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Nodejs 中文分詞常用模塊用法分析

    Nodejs 中文分詞常用模塊用法分析

    這篇文章主要介紹了Nodejs 中文分詞常用模塊用法,結(jié)合具體案例形式分析了node.js常用分詞模塊的基本功能、用法、效率與相關(guān)使用特點,需要的朋友可以參考下
    2023-05-05
  • Node.js 服務(wù)器端應(yīng)用開發(fā)框架 -- Hapi.js

    Node.js 服務(wù)器端應(yīng)用開發(fā)框架 -- Hapi.js

    Hapi.js 是一個用來構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開發(fā)者把重點放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗證、緩存、認(rèn)證和其他 Web 應(yīng)用開發(fā)常用的功能。
    2014-07-07
  • node.js基于express使用websocket的方法

    node.js基于express使用websocket的方法

    這篇文章主要介紹了node.js基于express使用websocket的方法,結(jié)合實例形式分析了node.js基于express調(diào)用websocket相關(guān)設(shè)置與使用操作技巧,需要的朋友可以參考下
    2017-11-11
  • nodejs使用http模塊發(fā)送get與post請求的方法示例

    nodejs使用http模塊發(fā)送get與post請求的方法示例

    這篇文章主要介紹了nodejs使用http模塊發(fā)送get與post請求的方法,結(jié)合實例形式分析了nodejs基于http模塊實現(xiàn)發(fā)送get與post請求具體操作技巧,需要的朋友可以參考下
    2018-01-01

最新評論