Visual Studio 2017中使用gulp编译sass/scss
在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
Visual Studio 2017中使用gulp编译sass/scss的更多相关文章
- 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- 【C++】GSL(GNU Scientific Library) 的安装及在 Visual Studio 2017 中的使用
GSL 是 GNU 开发并维护的科学计算的库,其中包括: 复数 多项式的根 特殊函数 向量和矩阵 排列 排序 BLAS支持 线性代数 Eigensystems 快速傅立叶变换 正交 随机数 准随机序列 ...
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
Visual Studio 2017中使用正则修改部分内容 最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效 ...
- Visual Studio 2017中使用SourceLink调试ASP.NET Core源码
背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...
- Visual studio 2017中 Javascript对于Xrm对象模型没有智能提示的解决办法
Visual studio 2017中 Javascript对于Xrm对象模型没有智能提示的解决办法 先上个图.语法提示支持到 Microsoft Dynamics xRM API 8.2 也就是cr ...
- Visual studio 2017 中的Javascript智能提示与调试
1.智能提示 对于JS文件中的API,你若需要让那个JS文件中的方法能够在你写的那个JS文件中能够智能显示的话,直接把它拉进你的JS文件中就好了. 举个例子:你想 在你正在写的a.js文件中引用b.j ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- 在Visual Studio 2017中找不到.NET Framework 4.6.2
原文 https://blogs.msdn.microsoft.com/benjaminperkins/2017/03/23/net-framwork-4-6-2-not-in-visual-stud ...
随机推荐
- MySQL8.0关系数据库基础教程(三)-select语句详解
1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...
- 【Java并发工具类】CountDownLatch和CyclicBarrier
前言 下面介绍协调让多线程步调一致的两个工具类:CountDownLatch和CyclicBarrier. CountDownLatch和CyclicBarrier的用途介绍 CountDownLat ...
- [redis读书笔记] 第一部分 数据结构与对象 简单动态字符串
本读书笔记主要来自于<<redis设计与实现>> -- 黄键宏(huangz) redis主要设计了字符串,链表,字典,跳跃表,整数集合,压缩列表来做为基本的数据结构,实现键值 ...
- Mac设置Linux免密登陆
利用公钥认证登录 1.创建共钥 输入下面的命令,一路回车 ssh-keygen -t rsa 2.复制公钥到ssh服务器 将上一步生成的id_rsa.pub公钥文件复制到目标服务器对应用户下的~/.s ...
- wp8.1 学习笔记 001 动态生成图片 并更改图片位置
1.在xaml中划分表格 <Grid Name="gr"> <Grid.ColumnDefinitions> <ColumnDefinition> ...
- pytorch之 sava_reload_model
import torch import matplotlib.pyplot as plt # torch.manual_seed(1) # reproducible # fake data x = t ...
- 底层解析web安全软件
试用了一些 web安全软件,服务器安全狗.云锁.绿盟…… 感觉里面有些功能是可以手动优化的,大概总结一下. 1.禁止 ping 这是服务器比较常用的功能,防止pin ...
- Lambda如何实现条件去重distinct List,如何实现条件分组groupBy List
条件去重 我们知道, Java8 lambda自带的去重为 distinct 方法, 但是只能过滤整体对象, 不能实现对象里的某个值进行判定去重, 比如: List<Integer> nu ...
- GNU make doc - 函数总结
$(value variable) 使用variable未展开状态的值 FOO = $(PATH) all: $(warning $(FOO)) $(warning $(value FOO)) #ou ...
- PyQt5官方教程+帮助文档+模块功能汇总
写在开头 笔者自学PyQt5的过程中,在网上发现了不少友好的新手入门教程,比如: Archi的博客 PyQt5图形界面编程 但是学习PyQt5的最好方法是阅读官方文档 + 自己动手实践,笔者将分享官网 ...