自动化构建初体验

自动化构建

    • 1、自动化构建简介

    • 2、自动化构建初体验

    • 3、常用的自动化构建工具

1、自动化构建简介

重复工作本应自动化。自动化:通过机器代替手工完成一些工作。构建:理解成转换。
源代码----自动化构建----生产代码。这个抓换的过程称作自动化构建工作流。作用:脱离运行环境兼容带来的问题,开发阶段使用提高效率的语法、规范和标准。如:ECMAScript Next提高编码效率和质量、Sass增强css的可编程性、模板引擎抽象页面中重复的html。这些用法大都不被浏览器直接支持。自动化构建工具 构建转换那些不被支持的代码特性转成能够直接运行的代码。

2、自动化构建初体验

1、sass不能在浏览器环境中直接使用,所以需要在开发阶段通过一个工具把它转换成css。这里使用的就是sass官方提供的sass模块。作为开发依赖安装
yarn add sass --dev 安装后在node_modules下出现一个.bin的目录,该目录下会有一个sass的命令文件。
2、在命令行当中就可以通过路径找到这个命令 .\node_modules.bin\sass 这样我这边会报错 换了npx sass就好了。执行完会打印一些帮助信息,一开始会有用法。
3、npx sass scss/main.scss css/style.css 就把sass文件转换成css了,还添加了对应的sourcemap文件。这样调试阶段就可以定位源代码中的问题了。但输入命令过于复杂

4、NPM Scripts
定义一些与项目开发有关的脚本命令,命令与项目一起维护,便于我们在后续开发中的使用。在package.json文件中添加scripts对象,scripts可以自动发现node_modules里面的命令。所以不需要写完整命令,直接写命令名称就可以了。
5、执行yarn build 或者npm run build
6、NPM Scripts 实现自动化构建工作流的最简方式
yarn add browser-sync --dev 用于启动一个测试服务器运行我们的项目

"scripts": {    "build": "sass scss/main.scss css/style.css",    "serve": "browser-sync"  },

yarn serve
7、如果在browser-sync 工作之前没有生成我们的样式,那此时页面就没有样式文件,需要在启动serve之前让build任务去工作。可以借助于npm scripts的钩子机制 定义一个preserve 它会在serve命令执行之前去执行

"scripts": {    "build": "sass scss/main.scss css/style.css",    "preserve":"yarn build",    "serve": "browser-sync"  },

yarn serve 启动之前自动构建sass文件
8、可以为sass命令添加一个–watch的参数,可以在工作时监听sass文件的变化,自动编译

"scripts": {    "build": "sass scss/main.scss css/style.css --watch",    "preserve":"yarn build",    "serve": "browser-sync"  },

yarn serve时命令会阻塞在这个地方,等待文件的变化。这样会导致后续的browser-sync没有办法直接工作。这种情况下需要同时去执行多个任务,可以借助于npm-run-all模块实现
9、yarn add npm-run-all --dev 可以用npm-run-all中的run-p命令同时执行build和serve命令
10、yarn start 但这样需要手动刷新浏览器才能更新样式
11、可以给 browser-sync添加一个–files的参数(–files “css/*.css”)。可以让browser-sync在启动过后监听项目下的一些文件的化。browser-sync会将这些变化自动同步到浏览器

"scripts": {    "build": "sass scss/main.scss css/style.css --watch",    "serve": "browser-sync . --files \"css/*.css\"",    "start": "run-p build serve"  },  "devDependencies": {    "browser-sync": "^2.26.13",    "npm-run-all": "^4.1.5",    "sass": "^1.32.4"  }

3、常用的自动化构建工具

npm scripts可以解决一部分自动化任务,但对于相对复杂的构建过程,npm scripts就显得非常吃力
市面上常用的自动化工具,解决重复无聊的工作,从而实现自动化。
1、Grunt:最早,生态非常完善,工作过程基于临时文件实现,构建速度相对较慢。如完成sass文件的构建,一般会对sass文件做编译操作,再去自动添加似有属性的前缀,最后再去压缩代码。这样的读写过程中,grunt每一步都有磁盘读写操作。像sass文件在编译完成过后会将结果写入到一个临时的文件,然后下一个插件它再去读取这个临时的文件进行下一步操作。这样处理环节越多,文件读写的次数就越多,超大项目中,文件特别多,处理速度就会特别慢
2、Gulp:速度快,基于内存实现,对文件的处理环节都是在内存中完成。相对与磁盘读写速度自然就快了很多,另外默认支持同时去执行多个任务,效率高,使用方式相对于grunt更直观易懂,生态完善,最受欢迎流行
3、FIS:百度推出的构建系统。像捆绑套餐,把项目中一些典型的需求尽可能都集成在内部。例如fis中可以很轻松处理资源加载、模块化开发、代码部署、性能优化等。大而全。
严格上来上说webpack实际上是一个模块打包工具,所以说不在其中
用法上都是用些简单的代码组织一些插件的使用,然后就可以用这些工具帮助我们执行各种个样重复的工作。

来源:https://www.icode9.com/content-4-824351.html

(0)

相关推荐

  • webpack4.0各个击破(2)—— CSS篇

    webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...

  • SASS 和 SCSS 的区别

    原文 Difference Between SASS and SCSS SASS(Syntactically Awesome Style Sheets)是一种由 Hampton Catlin 设计.C ...

  • 基于综合服务平台浅谈Sass应用

    一.       前言 CSS不是一种编程语言,只是单纯的一行行的描述,没有逻辑没有变量,因此写CSS对于习惯于运用逻辑思维编码的程序员来说是一件很头疼的事.于是勤奋的程序员就开始运转他们敏捷的大脑, ...

  • vue 开发常用工具及配置六:认识各种 loader

    本文大约 2400 字. 目录 Webpack 的工作原理 loader 和 plugin 的区别 webpack 如何处理 css 文件 三种样式 sass/scss 和 less 的区别 另一种定 ...

  • webpack-typescript-vue 浏览器插件开发配置

    配置 webpack npm i init --y npm i webpack -D npm i webpack-cli -D npm i @types/firefox-webext-browser ...

  • SCSS基本使用

    Sass就是css的预处理器,Scss是Sass3版本中引入的新语法特性 vue中使用scss,安装: cnpm i -S node-sass sass-loader 使用: <style la ...

  • 得明亲子春令营初体验

    孩子身体的毛病,年龄越大,越难以根除,在无意识中影响他一生的发展,为解决这样的问题,得明健身在五一期间,特推出为期四天的,亲子春令营,锻炼.经络体检(建档并跟踪追访),给孩子一个健康光明的未来!!! ...

  • 【广东】夏雪晴《厨房初体验——凉拌海带丝》指导老师:林燕玲

    厨房初体验--凉拌海带丝 东华小学东城校区二年级 夏雪晴 一个风和日丽的早上,我开开心心地和外婆.妈妈一起去菜市场买菜,因为我今天要亲自尝试制作一道我最喜欢吃的美味菜肴--凉拌海带丝. 在制作之前,外 ...

  • 3千元贵在了哪?——贝纳利Tornado302赛道初体验

    前两天贝纳利正式发布了新款的飓风302,并以Tornado302的全新命名正式回归品牌,当然售价也回到了起初的29800元,在这个国产品牌降价的大潮,就有人质疑贝纳利是不是飘了? 品牌回归 29800 ...

  • 草堂小学之开学初体验

    成都学区房已获授权 本文是模仿另一篇热门文章<五朵金花小学的入读初体验-成师附小>,强行蹭热度. 开学已经2个多月了,草堂小学给我的总体感觉是那么好,放弃成外本部名额不亏. (请参考挨骂之 ...

  • 五朵金花之入读初体验——成师附小

    成都学区房已获授权 溜爸前言 这位家长是:跨城市搬到成都来读书的那种,之前还在东部一个沿海城市居住,现在已然来到成都,开始小学生活. 关于为什么要来成都,可查看这篇:上学是一件举家搬迁的事情,总要折腾 ...

  • Alibaba EasyExcel初体验

    简介 EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel.相对于Apache POI来说,EasyExcel是从磁盘上一行行 ...

  • 开塞露の初体验o(╥﹏╥)o

    姐不在江湖,但江湖却有姐的传说...... 我身体有一个鸡肋的生理本能,去到一个新的地方,开始的几天都很难排便. 刚上高中那阵子,要再学校住宿,周末才能回家. 这就让我那个神奇的生理特质兴奋过了头. ...

  • 雪落无声伴课来——网络教学初体验

    清晨,拉开窗帘,见天灰蒙蒙的,像笼着一层薄烟. 细细地观看,哦!是下雪了! 这雪,轻,柔,细,像柳絮一般,从空中缓缓地飘落下来,袅袅婷婷,轻柔曼妙. 低头,俯瞰楼下的路,路面已经被罩上了一层薄薄的雪, ...

  • 试驾初体验 女司机全方位感受范爷同款科雷嘉

    点击上方 e汽车 关注我们 文 | 饭冰冰 微信号 | eautocar 写在前面的话 这里没有高大上的试驾图,也没有专业的测评词汇,有的只是一个女司机的真实试驾初体验-- 试驾车辆:东风雷诺科雷嘉 ...