關於node.js和npm,cnpm的安裝記錄以及gulp自動構建工具的使用

工做環境:window下javascript

在一切的最開始,安裝node.js (中文站,更新比較慢http://nodejs.cn/)(外文站,最新的資料,可是打開可能比較慢https://nodejs.org/en/download/css

  這裏是一篇知乎的關於node.js是什麼的文https://www.zhihu.com/question/33578075html

  簡單的來講,它是JavaScript運行環境。更加深刻,沒法理解事件:一、如何經過nodejs利用JavaScript寫後端語言;二、node的module是什麼;三、關於V8引擎;java

  任何語言只要有引擎就能夠跑起來,這裏至關於搭建了一個靜態服務器,而後在server.js中寫數據的獲取,npm install express。這就是一個簡單的靜態服務器,能夠用於數據處理。http://www.expressjs.com.cn/node

自行理解:express

  一、nodejs是一個相似於底層的開發環境,幫助JavaScript語言讓計算機理解;npm

  二、npm是用於管理nodejs的集成安裝包;json

  三、nodejs有不少模塊,例如壓縮文件,搭建靜態服務器等,這些功能須要npm進行安裝。gulp

此文主要內容後端

  一、安裝nodejs。

  二、安裝npm,如今nodejs已經將npm集成了起來。

  三、安裝cnpm,這是一個淘寶鏡像文件,它的功能和npm同樣,是在國內搭建的一個服務站,更新會比npm慢,可是能夠基本知足開發使用,安裝速度會比npm快。

  四、搭建gulp自動構建,用於檢測安裝包的自動架構而不是本身再一個個去寫。

  五、搭建express靜態服務器。

1、nodejs和npm的安裝

  1.進入nodejs的官網,進行下載。注意:若是已經有安裝好的版本,不能夠直接安裝高版本的,它會報錯。能夠卸載後再安裝,也能夠利用vnpm來進行升級。

    安裝完成之後進入cmd中進行確認,它會顯示安裝的版本號。

node --version
npm --version

  2.npm和nodejs如今已經集成在了一塊兒安裝好了,npm官網https://docs.npmjs.com/,在這裏能夠看官方文檔進行更加詳細的學習。

  3.安裝cnpm

  淘寶cnpm鏡像https://npm.taobao.org/,-g表示進行全局安裝

 npm install -g cnpm --registry=https://registry.npm.taobao.org

  咱們一樣可使用以下來肯定是否安裝成功和版本號。

cnpm --version

2、安裝gulp,對於主要插件進行測試

gulp中文網http://www.gulpjs.com.cn/docs/getting-started/gulp插件列表http://gulpjs.com/plugins/

先進行安裝

建立一個文件夾,例如gulptest,使用命令行,咱們先要進入這個文件夾中,例如cd gulptest

首先進行全局安裝

cnpm install gulp -g

接下來在項目文件下面進行項目開發依賴的安裝

cnpm install gulp --save-dev

項目文件下面會自動生成一個package.json文件用於記錄項目下面的插件安裝,這裏咱們須要查看一下有沒有這行代碼,通常狀況下,咱們對於一個項目先要進行初始化,

npm init 這是爲了自動生成package.json文件

"devDependencies": {
    "glup": "^1.0.14"
  },

如今來安裝用於壓縮html,css,js和img的插件

基本規則:cnpm install [gulp-xxxx] --save-dev,就是將插件安裝起來,gulp下的插件命名都以gulp開頭,插件名與插件名之間以空格隔開,若是你想要進行一次性安裝的話

npm install gulp-htmlmin gulp-imagemin imagemin-pngcrush gulp-minify-css gulp-jshint gulp-uglify gulp-concat gulp-rename gulp-notify --save-dev

安裝完成之後咱們依舊能夠進入項目根目錄上的package.json文件中查看是否安裝完成

安裝完成之後要開始編寫運行文件了

在根目錄下面建立一個js文件,gulpfile.js文件,基礎代碼是

var gulp = require('gulp');

gulp.task('default', function() {
  // 將你的默認的任務代碼放在這
  
});

在根目錄文件下命令行直接輸入gulp就會默認運行這個文件中defalut代碼

 

var gulp = require('gulp')
	htmlmin = require('gulp-htmlmin')
	imagemin = require('gulp-imagemin')
	minifycss = require('gulp-minify-css')
	uglify = require('gulp-uglify');

//壓縮html
gulp.task('htmlmin',function(){
	//能夠不在同一個目錄下面
	gulp.src('./views/**/*.html')
		.pipe(htmlmin({
			removeComments:true
		}))
		.pipe(gulp.dest('./dist/views'));
});

//壓縮js
gulp.task('uglify',function(){
	gulp.src('./static/js/**/*.js')
		.pipe(uglify())
		.pipe(gulp.dest('./dist/static/js'));
});

//壓縮css
gulp.task('minifycss',function(){
	gulp.src('./static/css/**/*.css')
		.pipe(minifycss())
		.pipe(gulp.dest('./dist/static/css'));
});

//壓縮圖片
gulp.task('imagemin',function(){
	gulp.src('./static/images/**/*.{png,jpg,gif,ico}')
		.pipe(imagemin())
		.pipe(gulp.dest('./dist/static/images'));
});

//動態監聽
gulp.task('watch',function(){
	gulp.src('./views/**/*.html',['htmlmin']);
	gulp.src('./static/js/**/*.js',['uglify']);
	gulp.src('./static/css/**/*.html',['minifycss']);
	gulp.src('./static/images/**/*.{png,jpg,gif,ico}',['imagemin']);
})


//合併運行任務
gulp.task('default',['htmlmin','uglify','minifycss','imagemin','watch']);

  gulp.task('taskname',fuc);第一個參數時對任務進行命名,這個是能夠隨便命名的,在合併任務裏面進行任務運行的時候添加的是對應的taskname,第二個參數時運行函數。

相關文章
相關標籤/搜索