Gulp 搭建前端非SPA 项目, 修改文件浏览器自动刷新
起因:需要搭建一个自动打包处理 sass / js (es6),自动监听文件变化时浏览器自动刷新的开发环境
项目目录
project
build
-css
-js
*.html
src
-html
-sass
-js
先放 gulpfile.js 文件,其他的详细配置稍后再介绍
const { src, dest, parallel,series, watch } = require('gulp');
const sass = require('gulp-sass');
const less = require('gulp-less');
const minifyCSS = require('gulp-csso');
const concat = require('gulp-concat');
const babel = require('gulp-babel');
const autoprefixer = require('gulp-autoprefixer')
const browserSync = require('browser-sync').create() sass.compiler = require('node-sass'); // Static server
async function serve() {
await browserSync.init(
{
server: {
baseDir: './build',
}
}
)
} // html 复制
function copy() {
return src('src/html/*.html')
.pipe(dest('build'))
} // css 编译
function css() {
return src(['src/sass/*.scss', 'node_modules/bootstrap/scss/bootstrap.scss'])
.pipe(sass())
// .pipe(src('src/less/*.less'))
// .pipe(less())
.pipe(autoprefixer({ overrideBrowserslist: ['last 8 versions'] }))
.pipe(minifyCSS())
.pipe(dest('build/css'))
} // js 编译
function js() {
return src(['src/js/*.js'], { sourcemaps: true })
.pipe(babel({
presets: ["@babel/env"]
}))
.pipe(concat('app.min.js'))
.pipe(dest('build/js', { sourcemaps: true }))
} // 浏览器自定刷洗
function reload(done) {
browserSync.reload()
done()
} // 监听启动
function watcher(done) {
watch("src/scss/*.scss", series(css, reload));
watch("src/js/*.js", series(js, reload));
watch("src/html/*.html", series(copy, reload));
done();
} exports.js = js;
exports.css = css;
exports.copy = copy;
exports.default = parallel(js, css, copy, serve, watcher);
Gulp 搭建前端非SPA 项目, 修改文件浏览器自动刷新的更多相关文章
- express+nodemon 修改后浏览器自动刷新
添加nodemon模块 cnpm install --save nodemon 根目录添加文件 nodemon.json { "restartable": "rs&quo ...
- 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)
一:gulp优点: 易于使用 通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理: 插件高质 Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作. 构建快速 利用 Node ...
- 使用 gulp 搭建前端环境入门篇(转载)
本文转载自: 使用 gulp 搭建前端环境入门篇
- 前端神器!!gulp livereload实现浏览器自动刷新
首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包. 先说一下gulp安装流程: 1:全局安装gulp,操作为: npm inst ...
- gulp最佳实践(包含js,css,html预编译,合并,压缩,浏览器自动刷新)
gulp是基于流的自动化构建工具官方网址:http://www.gulpjs.com.cn/ 一.安装需要的模块 1.新建package.json,输入下面的内容 { "name" ...
- 前端自动化之sass实时编译及自动刷新浏览器
gulp livereload实现sass实时编译及浏览器自动刷新 首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包. 先说一下 ...
- gulp构建前端,压缩css,js文件,实现浏览器自动刷新
一.安装node nodejs下载地址:https://nodejs.org/ nodejs自带npm模块管理器,安装完成之后打开dos命令窗口输入 node -v就能查看nodejs是否安装成成功 ...
- webstorm设置修改文件后自动编译并刷新浏览器页面
转载:http://www.cnblogs.com/ssrsblogs/p/6155747.html 重装了 webstorm ,从10升级到了2016 一升不要紧,打开老项目,开启webpakc-d ...
- 浏览器自动刷新——基于Nodejs的Gulp LiveReload与VisualStudio完美结合。
本文版权桂博客园和作者吴双共同所有,转载和爬虫请注明原文地址 http://www.cnblogs.com/tdws/p/6016055.html 写在前面 大家好我是博客园的蜗牛,博客园的蜗牛就是我 ...
随机推荐
- Jmeter中while循环逻辑控制器+配置元件计数器的用法
一.在线程组下添加逻辑控制器While Controller 二.在逻辑控制器While Controller下添加Sample,BeanShell Sampler , 三.逻辑控制器While Co ...
- Tomcat管理
Tomcat日志 /data/env/tomcat8546/logs/catalina.out echo "" > catalina.out Tomcat配置文件 /data ...
- TabBar 设置可滚动:isScrollable: true
appBar: AppBar( bottom: TabBar( // 设置可滚动 isScrollable: true, controller: _tabController, tabs: tabs. ...
- refPoint 别名与指针
// refPoint.cpp : Defines the entry point for the console application. // #include "stdafx.h&qu ...
- MySQL中Count函数的参数该传入什么样的值?
MySQL中Count函数的参数该传入什么样的值? 查询用户表中总记录 用户表中信息如下: 1.SELECT COUNT(*) FROM USER 结果为:3条 2. SELECT COUNT(us ...
- hbase与Hive的集成
1 HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析. ...
- Go语言 - 包(package)
在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(package) 包介绍 包( ...
- Codeforces Round #552 (Div. 3)-D-Walking Robot-(贪心)
http://codeforces.com/contest/1154/problem/D 解题: 1.无光的时候优先使用太阳能电池. 2.有光的时候 (1)太阳能电池没满电,让它充,使用普通电池 (2 ...
- continue语句:编程把100-300之间的能被25整除的数输出
#include<stdio.h>void main(){ int n; for(n=100;n<=300;n++) { if(n%25!=0) continue; printf(& ...
- (14)树莓派 - 修改pi账号密码,开启root账号
https://blog.csdn.net/yoie01/article/details/45115067 1.修改PI账号的密码 password pi 2.开启root账号树莓派使用的linux是 ...