国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談gulp創建完整的項目流程

2019-11-19 14:41:25
字體:
來源:轉載
供稿:網友

gulp是前端開發過程中自動構建項目的工具,相同作用的還有grunt。構建工具依靠插件能夠自動監測文件變化以及完成js/sass/less/html/image/css/coffee等文件的語法檢查、合并、重命名、壓縮、格式化、瀏覽器自動刷新、部署文件等功能。

所有的環境都是在 node 安裝好的基礎上執行的。 node -v 查看node的安裝情況。npm -v查看npm 的安裝情況.

gulp自動化構建常用參數

1、src 讀取文件或者文件夾

2、dest 生成文件也就是寫文件

3、watch 檢測文件

4、tesk 指定任務

5、pipe 用流的方式處理 gulp.

gulp創建一個完整的項目的目錄結構如下

解釋:

bower_components 這個文件下邊放的是 通過bower安裝的第三方的js等。

build  : 項目整合目錄,一般在這里整合所有的代碼,不壓縮。

dist : 項目發布目錄,也是壓縮所有文件后的。

src :  項目源文件目錄,這里放置的都是源文件。

test : 這個是編寫自動化測試的

1、在終端進入項目根目錄,安裝bower.

bower init 

初始化Bower,生成bower.json文件,然后安裝需要的的插件以及第三方文件例如angular  執行

bower install - - save angular

具體查看 bower 的使用方法。

2、安裝查看gulp,在項目根目錄下。

全局安裝gulp

npm install --global gulp

然后創建配置文件 

npm init    初始化并創建 package.json文件

npm install --save-dev gulp  將Node的配置環境裝進配置文件中。

然后安裝需要的插件

npm install xxx ―save-dev將文件自動寫進配置文件中。

一般常用的創建整站的有這些,多個的話可以將插件以空格的形式分開

復制代碼 代碼如下:

npm install gulp-clean gulp-concat gulp-connect gulp-cssmin gulp-imagemin gulp-less gulp-load-plugins gulp-uglify open  -―save-dev

然后則是gulpfile.js配置文件的編寫。具體為下

//引入gulpvar gulp = require('gulp');//這樣的話 其他的模塊可以直接使用 $ 符號來引入var $ = require('gulp-load-plugins')();var open = require('open');//定義目錄路徑var app = { //源代碼,文件目錄 srcPath: 'src/', //文件整合之后的目錄 devPath: 'build/', //項目,發布目錄上產部署 prdPath: 'dist/'};//通過bower安裝的插件,需要拷貝到 devPath prdPath中gulp.task('lib',function(){ // /**/* 讀取這個文件夾下邊的所有的文件或者文件夾 gulp.src('bower_components/**/*') //讀取完整后進行操作 西安拷貝到整合目錄 并重命名,在拷貝到生產目錄并重命名 .pipe(gulp.dest(app.devPath + 'vendor')) .pipe(gulp.dest(app.prdPath + 'vendor')) .pipe($.connect.reload()); //文件更改后自動變異 并執行啟動服務重新打開瀏覽器});//將 html 拷貝到 devPath prdPath中gulp.task('html',function(){ gulp.src(app.srcPath + '**/*.html') .pipe(gulp.dest(app.devPath)) .pipe(gulp.dest(app.prdPath)) .pipe($.connect.reload());});//將 模擬的json 文件 拷貝到 devPath prdPath中gulp.task('json',function(){ gulp.src(app.srcPath + 'data/**/*.json') .pipe(gulp.dest(app.devPath + 'data')) .pipe(gulp.dest(app.prdPath + 'data')) .pipe($.connect.reload());});//將 index.less 文件 拷貝到 devPath prdPath中,index.less引入了所有的其他的lessgulp.task('less',function(){ gulp.src(app.srcPath + 'style/index.less') .pipe($.less()) .pipe(gulp.dest(app.devPath + 'css')) .pipe($.cssmin()) .pipe(gulp.dest(app.prdPath + 'css')) .pipe($.connect.reload());});// 拷貝 js 文件 將所有的源文件中的js 文件整合成index.js 然后拷貝過去gulp.task('script',function(){ gulp.src(app.srcPath + 'script/**/*.js') .pipe($.concat('index.js')) .pipe(gulp.dest(app.devPath + 'js')) .pipe($.uglify()) .pipe(gulp.dest(app.prdPath + 'js')) .pipe($.connect.reload());});//拷貝 壓縮 圖片 最后放到發布目錄下gulp.task('image',function(){ gulp.src(app.srcPath + 'image/**/*') //江源圖片放到整合目錄下,在壓縮放到生產目錄下 .pipe(gulp.dest(app.devPath + 'image')) .pipe($.imagemin()) .pipe(gulp.dest(app.prdPath + 'image')) .pipe($.connect.reload());});//總的方法gulp.task('build',['image', 'script', 'less', 'json', 'html', 'lib']);//清除舊文件,每次更新的時候gulp.task('clean',function(){ gulp.src([app.devPath,app.prdPath]) .pipe($.clean());})//編寫服務gulp.task('serve',['build'], function() { $.connect.server({  //服務起來的入口  root: [app.devPath],  //文件更改后自動刷新頁面  livereload: true,  //端口號  port: 1234 }); // 在 命令工具中執行 gulp serve 就相當于是啟動了服務 //自動打開瀏覽器 open('http://localhost:1234'); //我們希望更改了文件,就自動編譯,并且打包等然后打開瀏覽器 gulp.watch('bower_components/**/*' , ['lib']); //監聽 script 下邊的 js 文件,并執行 script 方法 gulp.watch(app.srcPath + 'script/**/*.js', ['script']); gulp.watch(app.srcPath + '**/*.html', ['html']); gulp.watch(app.srcPath + 'data/**/*.json', ['json']); gulp.watch(app.srcPath + 'style/**/*.less', ['less']); gulp.watch(app.srcPath + 'image/**/*', ['image']); //這樣文件變更了就會自動構建});//默認執行的任務,直接 執行 gulp 變行了。都編寫完成后再終端 執行 gulp 便可以了。gulp.task('default', ['serve']);

這樣利用gulp創建一個完整的項目流程就結束了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文安县| 丹东市| 资兴市| 丹棱县| 托克托县| 汉中市| 永嘉县| 合作市| 法库县| 广东省| 盱眙县| 前郭尔| 柳州市| 介休市| 虹口区| 崇阳县| 海丰县| 夏河县| 萍乡市| 隆回县| 灵宝市| 呈贡县| 桐柏县| 正定县| 千阳县| 信阳市| 新龙县| 诏安县| 宜宾县| 西和县| 多伦县| 吉林省| 淮滨县| 大足县| 清原| 临西县| 邛崃市| 鄯善县| 分宜县| 务川| 收藏|