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 写在前面 大家好我是博客园的蜗牛,博客园的蜗牛就是我 ...
随机推荐
- ES6 手册
不用就忘, 把阮大大的地址列在这儿: http://es6.ruanyifeng.com/#README
- C# 中静态调用C++dll 和C# 中动态调用C++dll
在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能 ...
- F Energy stones
题意是,有$n$个石头,每个石头有初始能量$E_i$,每秒能量增长$L_i$,以及能量上限$C_i$,有$m$个收能量的时间点,每次把区间$\left[S_i, T_i\right]$石头的能量都给收 ...
- 51nod1681 公共祖先
[传送门] 很明显,可以转化成求每个点在两棵树中对应的子树中有多少个相同的节点,对答案的贡献就是$C(x, 2)$.关键就是怎么求这个东西.一是,对第一棵树求出dfs序,然后dfs第二棵树,用树状数组 ...
- input标签中的accpet
用法 accept 属性只能与 <input type="file"> 配合使用.它规定能够通过文件上传进行提交的文件类型. 提示:请避免使用该属性.应该在服务器端验证 ...
- luogu_4287:双倍回文
洛谷4287:双倍回文 前言: 参考博文: https://www.cnblogs.com/Vscoder/p/10498625.html 题目描述: 记字符串\(w\)的倒置为\(w^R\).例如\ ...
- 系统权限划分Liunx版
系统权限: 1. 当一个用户有两个系统的登录权限时,没有使用原来的那种系统id集合: 1,2,5形式,而是使用了这种形式 2. 杜绝重复
- [RN] React Native FlatList跳转到顶部/底部
React Native FlatList跳转到顶部/底部 核心代码如下: <ScrollView showsVerticalScrollIndicator={false} contentCon ...
- Java实现PV操作 | 哲学家进餐问题
运行结果: Java代码: public class Main { public static void main(String[] args) { Global global=new Global( ...
- 第08组 Alpha冲刺(3/6)
队名:955 组长博客:https://www.cnblogs.com/cclong/p/11872693.html 作业博客:https://edu.cnblogs.com/campus/fzu/S ...