内容简介:为了更好地复用样式,以及出于练习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 样式防御
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cracking the Coding Interview
Gayle Laakmann McDowell / CareerCup / 2015-7-1 / USD 39.95
Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hund......一起来看看 《Cracking the Coding Interview》 这本书的介绍吧!