JyLie

vuePress-theme-reco JyLie    2017 - 2023
JyLie

Choose mode

  • dark
  • auto
  • light
主页
分类
  • API
  • HTML
  • css
  • vue
  • Linux
  • Docker
  • Webpack
  • WebGL
  • PixiJS
  • Github
  • BOM
  • XML
  • bug
  • ie
  • uniapp
  • IE
  • mysql
  • font
  • bom
  • canvas
  • video
  • html
  • JavaScript
  • js
  • 运算符
  • RegExp
  • 编码
  • MiniApp
  • nginx
  • Tool
  • node.js
  • cat
  • nodejs
  • protocol
  • URL
  • FLOW
  • DNS
  • Protocol
  • python
  • 安全
  • linux
  • shell
  • IDE
  • Packer
  • ViteJS
  • git
  • vendor
  • WebApp
  • WebView
  • Window API
  • webview
  • 规范
标签
时光轴
GitHub
author-avatar

JyLie

74

Article

79

Tag

主页
分类
  • API
  • HTML
  • css
  • vue
  • Linux
  • Docker
  • Webpack
  • WebGL
  • PixiJS
  • Github
  • BOM
  • XML
  • bug
  • ie
  • uniapp
  • IE
  • mysql
  • font
  • bom
  • canvas
  • video
  • html
  • JavaScript
  • js
  • 运算符
  • RegExp
  • 编码
  • MiniApp
  • nginx
  • Tool
  • node.js
  • cat
  • nodejs
  • protocol
  • URL
  • FLOW
  • DNS
  • Protocol
  • python
  • 安全
  • linux
  • shell
  • IDE
  • Packer
  • ViteJS
  • git
  • vendor
  • WebApp
  • WebView
  • Window API
  • webview
  • 规范
标签
时光轴
GitHub
  • gulp配置相关说明

    • 按照 gulp 需求插件
      • 安装 browser-sync(在命令行中输入)
      • 下面列一些安装其它的插件,如需用到可以安装下面的这些插件
      • 搭建 gulp 环境
      • 配置 gulpfile.js

gulp配置相关说明

vuePress-theme-reco JyLie    2017 - 2023

gulp配置相关说明


JyLie 2017-08-08 gulp

# 使用 gulp+browser-sync 搭建 Sass 自动化编译以及自动刷新所需要的插件

# 按照 gulp 需求插件

# 安装 browser-sync(在命令行中输入)

    npm install --save-dev browser-sync
1

如果网速比较慢,可以用下面的 cnpm 命令运行:

    cnpm install --save-dev browser-sync
1

# 下面列一些安装其它的插件,如需用到可以安装下面的这些插件

    npm install --save-dev gulp-concat//js 合并插件

    npm install --save-dev gulp-uglify//js 压缩插件

    npm install --save-dev gulp-cssnano//css压缩插件

    npm install --save-dev gulp-imagemin//图片压缩插件

    npm install --save-dev gulp-htmlmin//html压缩插件

    npm install --save-dev del//文件删除模块

    npm install --save-dev gulp merge-stream//在一个任务中使用多个文件来源
1
2
3
4
5
6
7
8
9
10
11
12
13

# 搭建 gulp 环境

# 按装 gulp

1、安装全局 gulp

    npm install gulp -g
1

2、初始化 package.json

npm init
1

3、在本项目安装引入的 gulp

    npm install gulp --save-dev
1

4、在本项目按照 sass 相关插件

    npm install --save-dev gulp-sass
1

5、本步骤按需求来按照,下面 gulp 相关插件可以搭建完整的 css、js 相关压缩

npm install --save-dev gulp-concat gulp-uglify gulp-cssnano gulp-imagemin gulp-htmlmin merge-stream
1

# 配置 gulpfile.js

在项目根目录中新建 gulpfile.js 文件(重要!!!文件名为固定不变的。)输入以下内容:

const gulp = require('gulp'); //获取gulp
const sass = require('gulp-sass'); //获取gulp
const browsersync = require('browser-sync').create(); //获取browsersync
const cssnano = require('gulp-cssnano'); //css压缩插件
const merge = require('merge-stream');

//操作css文件
/**
 *  如果是一个任务处理多文件夹的话,
 *  只要声明不同的变量,
 *  然后return merge(xx, xx)合并返回即可
 *  如下 style 任务
 */
gulp.task('style', function() {
  const scssIndex = gulp
    .src('./common/scss/*.scss') //需要编译scss的文件
    .pipe(
      sass({ outputStyle: 'compressed' }) //压缩格式:nested(嵌套)、compact(紧凑)、expanded(扩展)、compressed(压缩)
        .on('error', sass.logError)
    )
    .pipe(cssnano()) //css压缩
    .pipe(gulp.dest('./common/css')) //输出路径
    .pipe(browsersync.stream()); //文件有更新自动执行

  const scssComponents = gulp
    .src('./common/components-scss/*.scss') //需要编译scss的文件
    .pipe(
      sass({ outputStyle: 'compressed' }) //压缩格式:nested(嵌套)、compact(紧凑)、expanded(扩展)、compressed(压缩)
        .on('error', sass.logError)
    )
    .pipe(cssnano()) //css压缩
    .pipe(gulp.dest('./common/components-css')) //输出路径
    .pipe(browsersync.stream()); //文件有更新自动执行
  return merge(scssIndex, scssComponents);
});

//监听scss文件
gulp.task('serve', function() {
  gulp.start('style');
  gulp.watch('./common/scss/*.scss', ['style']);
  gulp.watch('./common/components-scss/*.scss', ['style']);
});

//编译scss文件:gulp default
gulp.task('default', ['serve']);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45