在Visual Studio 2017中使用gulp编译sass/scss文件

需要的环境:Visual Studio 2017、Node.js、npm

在vs2017中 【视图】-【其他窗口】-【任务运行程序资源管理器】打开。

在学习的时候,发生网上讲的大多都是的gulpfile.js里面的核心内容,因此我这里写下我的详细操作步骤留作笔记。

步骤:

1、运行:cmd

2、运行:cd 到项目的根目录

3、运行:npm init 初始化package.json (一直Enter到底,也可以按照提示填写你想要的初始化信息,也可以enter到底后手动修改)

4、运行:npm install --save-dev [包名]   简写:npm i -D [包名] 安装以下package.json中“devDependencies”的包

package.json文件内容(完整):(可以复制该内容到你项目下的package.json中;

  a、重新在vs2017中打开项目解决方案,vs2017会自动运行命令,进行包的安装。可在:【视图】-【输出】-显示输出来源:Bower/npm中查看自动安装结果。

  b、也可以在根目录下运行:npm install 命令安装。)

{
"name": "test1",
"version": "1.0.0",
"description": "test1",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^4.0.0",
"gulp-clean-css": "^4.0.0",
"gulp-sass": "^4.0.2"
}
}

5、手动创建名为“gulpfile.js”的文件

gulpfile.js 文件内容:

var { src, dest, task, series, watch, parallel } = require('gulp');
var sass = require("gulp-sass");
var cleanCss = require('gulp-clean-css'); // Gup API:https://gulpjs.com/docs/en/api/task
// 运行任务:在VS2017 [视图]-[其他窗口]-[任务运行程序资源管理器] 中查看,双击运行(右键菜单-运行)
// 如果有错误,在[视图] - [输出] - 显示输出来源:任务运行程序资源管理器 中查看 // 任务 sass:编译css文件夹下单个.scss文件
task("sass-test", function () {
return src('sass/test.scss')
.pipe(sass())
.pipe(cleanCss()) //.pipe(cleanCss({ level: 2 })) // 编译结果不一样,合并相同的样式
.pipe(dest('css'));
}); // 任务 sass:编译css文件夹下单个.scss文件
task("sass-test2", function () {
return src('sass/test2.scss')
.pipe(sass())
.pipe(cleanCss())
.pipe(dest('css'));
}); // 任务 sass:编译css文件夹下所有.scss文件
task("sass", function () {
return src('sass/*.scss')
.pipe(sass())
.pipe(cleanCss())
.pipe(dest('css'));
}); // 任务 watch:sass:监听目录下所有sass文件,单个触发编译
task('watch:sass', function () {
const watcher = watch('sass/*.scss');
// 事件:'add', 'addDir', 'change', 'unlink', 'unlinkDir', 'ready', 'error', or 'all'全部事件
watcher.on('all', function (event, path) {
path = path.replace(/\\/g, '/');
src(path)
.pipe(sass())
.pipe(cleanCss())
.pipe(dest('css'));
        console.log('['+(new Date()).toTimeString().substr(0, 8)+'] '+event+' \033[40;36m' + path);
});
}); // 一个任务启动多个任务 series 依次执行 parallel 是并发执行
task('sass-all', series('sass-test', 'sass-test2'));

6、在vs2017中 【视图】-【其他窗口】-【任务运行程序资源管理器】中 选择项目-刷新任务-双击运行。

附上实例地址:https://gitee.com/zymlml/gulp-sass-test

最新文章

  1. LWIP总结
  2. JMeter学习-025-JMeter 命令行(非GUI)模式详解(三)-测试图形化 HTML 报表(dashboard)生成
  3. IntelliJ IDEA License
  4. xshell 终端窗口目录显示为深蓝色的不易分辨问题
  5. 微信html5开发选哪一个
  6. OC正则表达式的使用
  7. java springMVC生成二维码
  8. php怎么保留相除后几位小数:sprintf
  9. Store update, insert, or delete statement affected an unexpected number of rows ({0}).
  10. 一些有用的javascript实例分析(三)
  11. Deep learning:一(基础知识_1)
  12. 快速增加controller节点
  13. electron入坑指南
  14. 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)
  15. pyqt-QGrapicsView 坐标系详解
  16. python全局解释器锁(GIL)
  17. Jenkins构建次数设置
  18. javascript基础拾遗(七)
  19. go语言中make和new的区别
  20. 20155327李百乾《网络对抗》逆向及Bof基础

热门文章

  1. 机器学习(ML)十二之编码解码器、束搜索与注意力机制
  2. DataGuard---->主库和备库都配置 db_file_name_convert和log_file_name_convert的作用
  3. Python原来这么好学-1.2节: 在Linux中安装python
  4. 2020-02-19Linux学习日记,第一天
  5. k8s Pipline CI/CD
  6. mysql 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除
  7. 曹工说Spring Boot源码(20)-- 码网灰灰,疏而不漏,如何记录Spring RedisTemplate每次操作日志
  8. Java笔记---枚举类和注解
  9. yum 程序包管理简介
  10. 区间操作---树状数组&&线段树