wiredep----另一种思路的前端模块加载方式
2016-06-19 14:54
274 查看
wiredep
另一种思路的前端模块加载方式
github传送门很多人会选择amd的requirejs,seajs这样的方式,而wiredep则回归到原始的方式来思考
既然我需要加载n个js文件,那么我就一条条的把他们的列出来
至于他们的依赖关系,我只要拓扑排序计算出来,然后安排好先后关系就可以了
先给出一个例子
安装好wiredep的npm包
用bower去安装好要加载的js第三方包
{ "name": "my-wiredep", "description": "", "main": "index.js", "license": "ISC", "moduleType": [], "homepage": "", "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests" ], "dependencies": { "jquery": "~2.1.0", "angular": "~1.3.15", "angular-animate": "~1.3.15", "angular-ui-router": "~0.2.12", "ui-router-extras": "~0.0.13", "angular-bootstrap": "~0.13.0", "ngInfiniteScroll": "~1.2.0" } }
新建一个index.html文件
<html> <head> <!-- bower:css --> <!-- endbower --> </head> <body> <!-- bower:js --> <!-- endbower --> </body> </html>
进入node命令行,
require(‘wiredep’)({ src: ‘index.html’ });
完成,这个时候你去查看index.html文件就会发现,已经被修改成如下的样子
原理
最后说下原理,wiredep首先去读取bower.json文件,然后去读bower文件夹下的各个bower.json,从而来计算出依赖关系.可能的错误
从”原理”一章我们也可以了解到,如果缺少bower.json,或则安装的包缺少自描述的bower.json都会导致错误提升
真实的开发中,我们往往会使用gulp或者grunt来配合使用gulp的范例在wiredep的git仓库中有详细描述,
grunt提供一个传送门
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享