Rumah hujung hadapan web tutorial js gulp安装以及打包合并详解

gulp安装以及打包合并详解

Jan 18, 2018 am 10:48 AM
gulp bercantum Pek

本文主要给大家介绍了关于gulp实现人一个打包合并的方法教程,并分享了gulp打包js/css时合并成一个文件时的顺序的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。希望能帮助到大家。

前言

gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。

安装、打包合并

1.安装node.js  下载地址: http://nodejs.cn/

打开node.js 命令行,输入: node  -v ,有版本号,则正确安装。

2.安装淘宝镜像 :命令行输入 :

npm install -g cnpm --registry=http://registry.npm.taobao.org
Salin selepas log masuk

目的:使下在速度更快。

3.全局安装gulp

cnpm install --global gulp
Salin selepas log masuk

4.创建目录,打开F盘,创建gulp文件夹。

命令行输入 :

f:

cd gulp
Salin selepas log masuk

5.安装本地gulp

cnpm install --save-dev gulp
Salin selepas log masuk

6.创建package.json文件

cnpm init
Salin selepas log masuk

一路enter确定就行

7.web编辑器打开此gulp目录,如hbuilder、webstorm。

在gulp目录下创建gulpfile.js文件,gulp运行的入口


8.确定何种打包压缩,html、js、css、img

9.js打包

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
 
gulp.task('default',function(){ 
 gulp.src('js/*.js') // 路径问题:gulpfile.js为路径的起点。此路径表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名称
 .pipe(uglify()) //压缩
 .pipe(gulp.dest('build')); //打包压缩在build目录下。
});
Salin selepas log masuk

10.运行;node.js输入

gulp

会有报错,提示 gulp-concat组件没有安装。开始安装 :cnpm install gulp-concat --save-dev

再次运行 :gulp

再次报错,提示gulp-uglify组件没有安装。开始安装 :cnpm install gulp-uglify --save-dev

再次运行 :gulp

。。。。。。。。。。。。。。。

 成功之后会

这里会看到 finished ‘default' ,‘default' 就是gulp.task任务开始的默认入口。如果创建多个task任务,且修改任务名称如:

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
 
gulp.task('default',function(){ 
 gulp.src('js/*.js') // 路径问题:gulpfile.js为路径的起点。此路径表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名称
 .pipe(uglify()) //压缩
 .pipe(gulp.dest('build')); //打包压缩在build目录下。
})
 
//css 打包压缩
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css');
 
  gulp.task('style', function() { //task 任务名称为style
 
  gulp.src('.css/*.css')
 
  .pipe(concat('styles.css'))
 
  .pipe(autoprefix('last 2 versions'))
 
  .pipe(minifyCSS())
 
  .pipe(gulp.dest('styles'));
 
  });
Salin selepas log masuk

重新运行 : gulp

结果:

会发现只运行了 default的task任务。因为这是唯一默认的gulp执行入口。

修改如下

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
 
gulp.task('js',function(){ 
 gulp.src('js/*.js') // 路径问题:gulpfile.js为路径的起点。此路径表示js文件下的所有js文件。
 .pipe(concat('all.js')) //合并成的js文件名称
 .pipe(uglify()) //压缩
 .pipe(gulp.dest('build')); //打包压缩在build目录下。
})
 
//css 打包压缩
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css');
 
  gulp.task('style', function() { //task 任务名称为style
 
  gulp.src('.css/*.css')
 
  .pipe(concat('styles.css'))
 
  .pipe(autoprefix('last 2 versions'))
 
  .pipe(minifyCSS())
 
  .pipe(gulp.dest('styles'));
 
  });

<br>gulp.task('default',function(){
 gulp.run(['js','style']); //这里开始执行多个task任务
});
Salin selepas log masuk

如果遇到什么组件没有安装的话,想你应该知道怎么操作了。

11.图片压缩

var imagemin = require('gulp-imagemin');
gulp.task('img', function() {
 return gulp.src('imgs/*.png')
 .pipe(imagemin())
 .pipe(gulp.dest('miniImg'));
});
Salin selepas log masuk

12.html压缩

var htmlmin = require('gulp-htmlmin');
gulp.task('html', function() {
 return gulp.src('../*.html')
 .pipe(htmlmin({collapseWhitespace: true}))
 .pipe(gulp.dest('../'));
});
Salin selepas log masuk

13.路径问题自己修改

gulp打包js/css时合并成一个文件时的顺序解决

1、可以使用插进gulp-order。

2、可以这样的写法:

return gulp.src(['js/common.js','js/**/*.js'])
.pipe(concat('build.js'))//合成到一个js
.pipe(gulp.dest(buildBasePath+'js'))//输出到js目录
.pipe(uglify())//压缩js到一行
.pipe(concat('build.min.js'))//压缩后的js
.pipe(gulp.dest(buildBasePath+'js'));//输出到js目录
Salin selepas log masuk

相关推荐:

Gulp实现静态网页模块化实例分享

详解nodejs实现简单的gulp打包

如何实现使用gulp实现文件压缩及浏览器的热加载

Atas ialah kandungan terperinci gulp安装以及打包合并详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggabungkan dua tatasusunan dalam bahasa C? Bagaimana untuk menggabungkan dua tatasusunan dalam bahasa C? Sep 10, 2023 am 09:05 AM

Mengambil dua tatasusunan sebagai input, cuba gabungkan atau gabungkan dua tatasusunan dan simpan hasilnya dalam tatasusunan ketiga. Logik untuk menggabungkan dua tatasusunan adalah seperti berikut-J=0,k=0untuk(i=0;i<o;i++){//mergingtwoarrays if(a[j]<=b[k]){ c[i] =a[j]; j++ }lain{ &nbs

Adakah 2.4g dan 5g perlu digabungkan? Adakah 2.4g dan 5g perlu digabungkan? Nov 24, 2022 am 10:27 AM

Ia tidak disyorkan untuk menggabungkan 2.4g dan 5g kerana integrasi dwi-jalur mempunyai kelebihan dan kekurangan, sesetengah telefon mudah alih mungkin mengalami kesukaran menyambung ke WiFi dwi-jalur untuk penghala wayarles umum, jika tiada fungsi penolakan isyarat yang lemah; telefon mudah alih selepas integrasi dwi-jalur didayakan Ia mungkin sentiasa disambungkan ke jalur frekuensi 2.4G dan tidak akan bertukar kepada jalur frekuensi 2.4G yang lebih pantas sama sekali melainkan anda menghidupkan dan mematikan WIFI secara manual, jadi disyorkan untuk menyediakannya secara berasingan.

Kongsi cara mudah untuk membungkus projek PyCharm Kongsi cara mudah untuk membungkus projek PyCharm Dec 30, 2023 am 09:34 AM

Kongsi kaedah pembungkusan projek PyCharm yang mudah dan mudah difahami Dengan populariti Python, semakin ramai pembangun menggunakan PyCharm sebagai alat utama untuk pembangunan Python. PyCharm ialah persekitaran pembangunan bersepadu yang berkuasa yang menyediakan banyak fungsi mudah untuk membantu kami meningkatkan kecekapan pembangunan. Salah satu fungsi penting ialah pembungkusan projek. Artikel ini akan memperkenalkan cara untuk membungkus projek dalam PyCharm dengan cara yang mudah dan mudah difahami, dan memberikan contoh kod khusus. Mengapa projek pakej? Dibangunkan dalam Python

Bagaimana untuk menggabungkan aliran input menggunakan fungsi SequenceInputStream dalam Java Bagaimana untuk menggabungkan aliran input menggunakan fungsi SequenceInputStream dalam Java Jun 26, 2023 pm 03:03 PM

Dalam pembangunan Java, kita selalunya perlu menggabungkan berbilang aliran input untuk memproses data. Fungsi SequenceInputStream ialah salah satu fungsi yang disediakan dalam Java untuk menggabungkan aliran input Ia boleh menggabungkan berbilang aliran input ke dalam aliran input yang lebih besar untuk memudahkan pemprosesan data kami. Jadi, bagaimana untuk menggunakan fungsi SequenceInputStream dalam Java untuk menggabungkan aliran input? Seterusnya, artikel ini akan memperkenalkan kaedah pelaksanaan khusus dan langkah berjaga-jaga melalui langkah terperinci. saya

Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan fungsi lanjutan penggabungan dan paparan imej Cara menggunakan HTML, CSS dan jQuery untuk melaksanakan fungsi lanjutan penggabungan dan paparan imej Oct 27, 2023 pm 04:36 PM

Gambaran keseluruhan fungsi lanjutan tentang cara menggunakan HTML, CSS dan jQuery untuk melaksanakan paparan gabungan imej: Dalam reka bentuk web, paparan imej ialah pautan penting, dan paparan gabungan imej ialah salah satu teknik biasa untuk meningkatkan kelajuan memuatkan halaman dan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk melaksanakan fungsi lanjutan penggabungan dan paparan imej, dan menyediakan contoh kod khusus. 1. Reka letak HTML: Pertama, kita perlu mencipta bekas dalam HTML untuk memaparkan imej yang digabungkan. Anda boleh menggunakan di

Cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod Cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod Jun 23, 2023 am 09:31 AM

Apabila bahasa pengaturcaraan Python menjadi semakin popular, semakin ramai pembangun mula menulis kod dalam Python. Tetapi dalam penggunaan sebenar, kita selalunya perlu membungkus kod ini dan mengedarkannya kepada orang lain untuk digunakan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod. 1. Pembungkusan kod Python Dalam Python, kita boleh menggunakan alatan seperti setuptools dan distutils untuk membungkus kod kita. Alat ini boleh menukar fail Python, modul

Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java. Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java. Sep 06, 2023 am 10:21 AM

Bermula dengan cepat: Teknik penggabungan dan pemisahan tatasusunan JSON dalam Java Dalam pembangunan perisian moden, format dan penghantaran data telah menjadi semakin penting. Antaranya, JSON (JavaScriptObjectNotation) ialah format data yang biasa digunakan, terutamanya sesuai untuk interaksi hadapan dan belakang dan penyimpanan data. Dalam pembangunan Java, kita sering perlu berurusan dengan objek JSON dan tatasusunan JSON. Artikel ini menerangkan cara untuk menggabungkan dan memisahkan tatasusunan JSON dalam Java, bersama-sama dengan petua dan contoh untuk melaksanakan operasi ini.

Bagaimana untuk menggabungkan dua fail CSV dengan lajur tertentu menggunakan Pandas dalam Python? Bagaimana untuk menggabungkan dua fail CSV dengan lajur tertentu menggunakan Pandas dalam Python? Sep 08, 2023 pm 02:01 PM

Fail CSV (Comma Separated Values) digunakan secara meluas untuk menyimpan dan menukar data dalam format yang mudah. Dalam banyak tugas pemprosesan data, terdapat keperluan untuk menggabungkan dua atau lebih fail CSV berdasarkan lajur tertentu. Nasib baik, ini boleh dicapai dengan mudah menggunakan perpustakaan Pandas dalam Python. Dalam artikel ini, kita akan belajar cara menggabungkan dua fail CSV mengikut lajur tertentu menggunakan Panda dalam Python. Apakah perpustakaan Pandas? Pandas ialah perpustakaan sumber terbuka untuk kawalan maklumat dan pemeriksaan dalam Python. Ia menyediakan alatan untuk bekerja dengan data berstruktur (seperti jadual, siri masa dan data berbilang dimensi) dan struktur data berprestasi tinggi. Panda digunakan secara meluas dalam kewangan, sains data, pembelajaran mesin dan bidang lain yang memerlukan manipulasi data.

See all articles