内容简介:为了更好地复用样式,以及出于练习gulp、scss和学习mocha的目的,我在尝试使用gulp、scss构建一个用于pc端的样式库,使用mocha进行浏览器端的测试。为了方便起见,脚本没有使用纯javascript编写,而是选择了jquery。目前,基本的框架已经搭好,正在完善样式中。样式库使用前缀主要区分各自的作用,它们包括:
目的
为了更好地复用样式,以及出于练习gulp、scss和学习mocha的目的,我在尝试使用gulp、scss构建一个用于pc端的样式库,使用mocha进行浏览器端的测试。为了方便起见,脚本没有使用纯javascript编写,而是选择了jquery。目前,基本的框架已经搭好,正在完善样式中。
目录结构
-
lib --> 源代码库
-
scss --> scss代码库
- mixins --> 共用mixins
- components --> 组件
- layouts --> 布局
- text --> 文字和文本
- utilities --> 实用的scss
- state --> 状态
- variables --> 变量
- js --> 组件使用的js
-
- vendor --> 第三方资源(js和css)
- dist --> 打包后的文件(js和css)
- examples --> 例子(ejs)
- test --> 单元测试
css命名方式
样式库使用 前缀+主体+表现
的形式命名,比如 .c-btn-color--primary
。前端的部分使用单横杆连接,状态使用双横杆形式。命名有些丑陋,这是参考命名空间和BEM后的一种尝试。
前缀主要区分各自的作用,它们包括:
- c ---> 组件类
- u ---> 实用类
- l ---> 布局类
- is ---> 状态类(显示、隐藏等)
- t ---> 文字或排版类
- js ---> js钩子(表示使用js)
其它对于项目的详情,请 点击这里
遇到的问题
由于第一次使用gulp,不可避免地遇到了一些问题,记录如下:
gulp4的使用
gulp的中文文档是gulp3的,安装gulp3的方法使用,会发现gulp没有找到任务的情况。在gulp4,创建一个任务应该是:
function task() { // 需要返回stream、promise或者其他类型(详见gulp4文档) return gulp.src(...).pipe(...); } // 导出default任务 exports.default = task;
在多个任务的情况,可以使用 series
和 parallel
,来分别指定顺序执行和并行,而且可以相互嵌套。下面是一个例子:
// 假设各个task已经定义。 exports.default = series( task1, parallel(task2, task3) );
这样,导出的default任务就是先执行task1,然后task2和task3同时执行。
gulp-order的使用
我在项目中使用了 gulp-concat
用于拼接js文件,这时,遇到的问题是怎么确定文件的顺序,有的文件有顺序要求。这是一个例子:
function task() { return gulp.src("js/*.js") .pipe(order([ "js/component.js", "!js/index.js", "js/index.js" ], {base: "./"})) .pipe(concat("main.js")) .pipe(dest("dist")); }
上面的任务表示先合并component.js然后合并非index.js的文件,最后合并index.js,至于base用于设置基本路径,不使用base可以会发现文件没有合并。
最后
由于本人能力有限,如有错误,欢迎指出;如果有什么建议,请不吝赐教。
以上所述就是小编给大家介绍的《使用gulp和scss构建样式库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Webpack 4 构建大型项目实践 / 处理图片、样式和字体
- Dcat Admin v1.6.5 发布 - 高颜值后台系统构建工具,全新表格样式上线
- CKEditor 5 v26.0.0 发布:具有可扩展的构建、内联部件样式和注释指南
- 1.6 常用CSS样式2:其它样式
- 1.5 常用CSS样式1:文本样式
- CSS 样式防御
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高扩展性网站的50条原则
[美] Martin L. Abbott、[美]Michael T. Fisher / 张欣、杨海玲 / 人民邮电出版社 / 2012-6-3 / 35.00元
《高扩展性网站的50条原则》给出了设计高扩展网站的50条原则,如不要过度设计、设计时就考虑扩展性、把方案简化3倍以上、减少DNS查找、尽可能减少对象等,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只有少量原则解决的是与关键习惯和方法有关的问题,当然,每个原则都对构建可扩展的产品至关重要。 主要内容包括: 通过克隆、复制、分离功能和拆分数据集提高网站扩展性; 采用横向......一起来看看 《高扩展性网站的50条原则》 这本书的介绍吧!