Bootstrap4 gulp 配置详解


Posted in Javascript onJanuary 06, 2019

最近想写个项目,由于之前一直写后端,很少接触前端,所以这次来好好学一下前端。看了下Yii框架,它自带了Bootstrap框架,最开始想的是怎么快速写个页面,哪知道这个就像剥洋葱一样,就剥到了学习构建工具的阶段。

说个很沮丧的消息,等我把gulp这套工具调通了后,发现Github上居然有很多这样的模板了!废了我3天时间来搞这个东西。给个关键词:bootstrap 4 gulp boilerplate。额,以及还有一个网站,这是我读完bootstrap的文档后发现的:https://vanillajstoolkit.com/plugins/

在项目目录下的babelln/gulpfile.babel.js:

// 如果要编译babel可以启用
// const babel = require('gulp-babel');
// const concat = require('gulp-concat');
// const uglify = require('gulp-uglify');
const del = require("del");
const gulp = require("gulp");
const browserSync = require("browser-sync");
const sassCompile = require("gulp-sass");
const server = browserSync.create();

const paths = {
 scripts: {
  src: "src/scripts/*.js",
  dest: "dist/scripts"
 },
 css: {
  src: "src/scss/*.scss",
  dest: "dist/css"
 }
};

// 定义清理方法,会删除dist目录
const clean = () => del(["dist"]);

// 定义需要拷贝到dist目录的文件,一般APP最终使用的JS和CSS文件在这个目录中
const scriptFiles = [
 paths.scripts.src,
 "node_modules/bootstrap/dist/js/bootstrap.min.js",
 "node_modules/jquery/dist/jquery.min.js",
 "node_modules/popper.js/dist/umd/popper.min.js"
];

// 编译babel文件的时候使用
// function scripts() {
//  return gulp.src(paths.scripts.src, { sourcemaps: true })
//   .pipe(babel())
//   .pipe(uglify())
//   .pipe(concat('index.min.js'))
//   .pipe(gulp.dest(paths.scripts.dest));
// }

// 将源代码文件复制到目的地,中间可以加入其他处理程序
function scripts() {
 return gulp.src(scriptFiles).pipe(gulp.dest(paths.scripts.dest));
}

// 重启web服务
function reload(done) {
 server.reload();
 done();
}

// 编译sass文件,在dist/css目录产生结果文件
function sass() {
 return gulp
  .src(["node_modules/bootstrap/scss/bootstrap.scss", paths.css.src])
  .pipe(sassCompile())
  .pipe(gulp.dest(paths.css.dest));
}

// 服务初始化,以当前目录babelln/作为网站根目录
function serve(done) {
 server.init({
  server: {
   baseDir: "./"
  }
 });
 done();
}

// 定义需要监控的文件
const watches = [paths.scripts.src, "*.html", paths.css.src];

// 定义watch函数,它监控watches定义的文件,然后顺序执行这些方法
const watch = () => gulp.watch(watches, gulp.series(scripts, sass, reload));

// 再包装一层,整个流程就是清理,编译脚本,编译sass,初始化web服务,启动监控
const dev = gulp.series(clean, scripts, sass, serve, watch);

// 暴露默认方法给外部程序
exports.default = dev;

这个就是根据gulp官方的模板来捏的,最终还算是可以工作。

最后放个效果图^^

编译界面:

Bootstrap4 gulp 配置详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 有用的脚本函数
May 07 Javascript
js 自定义个性下拉选择框示例
Aug 20 Javascript
Javascript:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
AngularJS 入门教程之事件处理器详解
Aug 19 Javascript
使用JQuery选择HTML遍历函数的方法
Sep 17 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
JavaScript 事件对内存和性能的影响
Jan 22 Javascript
js仿拉勾网首页穿墙广告效果
Mar 08 Javascript
详解通过JSON数据使用VUE.JS
May 26 Javascript
js获取文件里面的所有文件名(实例)
Oct 17 Javascript
vue2.0 computed 计算list循环后累加值的实例
Mar 07 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
Aug 10 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 #jQuery
node.js连接mysql与基本用法示例
Jan 05 #Javascript
Node.js Buffer模块功能及常用方法实例分析
Jan 05 #Javascript
Node.js net模块功能及事件监听用法分析
Jan 05 #Javascript
JS无限级导航菜单实现方法
Jan 05 #Javascript
JSON字符串操作移除空串更改key/value的介绍
Jan 05 #Javascript
JavaScript常见事件对象与操作实例总结
Jan 05 #Javascript
You might like
PHP图片上传类带图片显示
2006/11/25 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
PHP进程通信基础之信号
2017/02/19 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
js获取提交的字符串的字节数
2009/02/09 Javascript
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
js常用DOM方法详解
2017/02/04 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
js实现点击烟花特效
2020/10/14 Javascript
python 运算符 供重载参考
2009/06/11 Python
python获取标准北京时间的方法
2015/03/24 Python
python3音乐播放器简单实现代码
2020/04/20 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python打开文件的方式有哪些
2020/06/29 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
应届大学生求职信
2013/12/01 职场文书
党员公开承诺事项
2014/03/25 职场文书
相亲大会策划方案
2014/06/05 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
安全保证书
2015/01/16 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书