前端渐进式工程化
项目背景
使用 layui-admin 的传统java jsp项目
CSS 初步工程化
在前端三剑客(HTML、CSS、JavaScript)中,工程化 CSS 可以说是代价最小的且效果最明显的。
CSS 标准一直在演进,且不同浏览器中对 CSS 样式支持程度也不同。
使用 postcss 相关生态来处理 CSS。
postcss 是一套 JavaScript 工具和插件来转换 CSS 的工具,按需搭配并配置相关插件,可以将现代 CSS 转换到最大兼容目标平台的程度。
安装 nodejs、npm
对于 debian 及衍生版本
1 | apt install node npm |
安装 postcss-cli
1 | npm i -D postcss-cli |
该命令会在当前目录下生成package.json
、package-lock.json
添加 postcss 相关插件
- postcss-import
- 处理导入
- postcss-nested
- 展开嵌套语法
- postcss-preset-env
- 匹配目标浏览器
- autoprefixer
- 添加平台特定前缀
- postcss-initial
- 按需重置继承样式
- postcss-scrollbar
- 滚动条兼容
- css-declaration-sorter
- 规则排序
- cssnano
- 最小化
1 | npm i -D postcss-import postcss-nested postcss-preset-env autoprefixer postcss-initial postcss-scrollbar css-declaration-sorter cssnano |
添加 postcss 配置
创建postcss.config.js
1 | module.exports = { |
添加运行配置
package.json
1 | { |
运行 postcss-cli
在src
文件夹下创建index.css
,并写入需要转换的样式
执行
1 | npm run make |
转换结果出现在dist
文件夹中
js 初步工程化
babel.js 提供了从 ES2015+ (ES6)的JS语法转换到 ES5 的方法。
从 IE9 开始部分支持 ES5,IE10完全支持ES5。
babel工具可以处理大部分现代JS使他们兼容旧时代的浏览器