前端模块管理器简介(bower-browserify)
来源:互联网 发布:网络摄像机客户端 编辑:程序博客网 时间:2024/06/14 13:45
原文链接:http://www.ruanyifeng.com/blog/2014/09/package-management.html
模块化结构已经成为网站开发的主流。
制作网站的主要工作,不再是自己编写各种功能,而是如何将各种不同的模块组合在一起。
浏览器本身并不提供模块管理的机制,为了调用各个模块,有时不得不在网页中,加入一大堆script标签。这样就使得网页体积臃肿,难以维护,还产生大量的HTTP请求,拖慢显示速度,影响用户体验。
为了解决这个问题,前端的模块管理器(package management)应运而生。它可以轻松管理各种JavaScript脚本的依赖关系,自动加载各个模块,使得网页结构清晰合理。不夸张地说,将来所有的前端JavaScript项目,应该都会采用这种方式开发。
最早也是最有名的前端模块管理器,非RequireJS莫属。它采用AMD格式,异步加载各种模块。具体的用法,可以参考我写的教程。Require.js的问题在于各种参数设置过于繁琐,不容易学习,很难完全掌握。而且,实际应用中,往往还需要在服务器端,将所有模块合并后,再统一加载,这多出了很多工作量。
今天,我介绍另外四种前端模块管理器:Bower,Browserify,Component和Duo。它们各自都有鲜明的特点,很好地弥补了Require.js的缺陷,是前端开发的利器。
需要说明的是,这篇文章并不是这四种模块管理器的教程。我只是想用最简单的例子,说明它们是干什么用的,使得读者有一个大致的印象,知道某一种工作有特定的工具可以完成。详细的用法,还需要参考它们各自的文档。
Bower
Bower的主要作用是,为模块的安装、升级和删除,提供一种统一的、可维护的管理模式。
首先,安装Bower。
$ npm install -g bower
然后,使用bower install命令安装各种模块。下面是一些例子。
# 模块的名称 $ bower install jquery # github用户名/项目名 $ bower install jquery/jquery # git代码仓库地址 $ bower install git://github.com/user/package.git # 模块网址 $ bower install http://example.com/script.js所谓"安装",就是将该模块(以及其依赖的模块)下载到当前目录的bower_components子目录中。下载后,就可以直接插入网页。
<script src="/bower_componets/jquery/dist/jquery.min.js">
bower update命令用于更新模块。
$ bower update jquery
如果不给出模块的名称,则更新所有模块。
bower uninstall命令用于卸载模块。
$ bower uninstall jquery
注意,默认情况下,会连所依赖的模块一起卸载。比如,如果卸载jquery-ui,会连jquery一起卸载,除非还有别的模块依赖jquery。
Browserify
首先,安装Browserify。
$ npm install -g browserify
然后,编写一个服务器端脚本。
var uniq = require('uniq'); var nums = [ 5, 2, 1, 3, 2, 5, 4, 2, 0, 1 ]; console.log(uniq(nums));
上面代码中uniq模块是CommonJS格式,无法在浏览器中运行。这时,Browserify就登场了,将上面代码编译为浏览器脚本。
$ browserify robot.js > bundle.js生成的bundle.js可以直接插入网页。
<script src="bundle.js"></script>Browserify编译的时候,会将脚本所依赖的模块一起编译进去。这意味着,它可以将多个模块合并成一个文件。
- 前端模块管理器简介(bower-browserify)
- 前端模块管理器Bower Browserify Component Duo 的差异
- 前端模块管理器简介
- 前端模块管理器简介
- 前端模块管理器简介
- gulp+bower体系如何使用browserify调用npm模块
- 前端包管理器bower的使用
- 前端文件包管理器--bower的使用
- angular + browserify + gulp + bower + less
- 前端模块管理器
- gulp-前端模块及依赖管理的新选择:Browserify
- 如何安装使用web前端的包管理器bower
- gulp+browserify前端模块化
- bower简介
- browserify使用简介
- 包管理器bower
- 包管理器Bower
- bower-web包管理器(依赖插件管理)
- opt/buildroot-gcc342/bin/mipsel-linux-gcc: Command not found解决办法
- 文件操作
- CoreData—使用进阶
- 域名获取IP
- 浅谈HTTP中Get与Post的区别
- 前端模块管理器简介(bower-browserify)
- (UIL)使用3之Android Universal Image Loader 源码分析
- 设置图片的渐变色
- Fidder接口测试app使用
- 利用master..spt_values来生成连续日期
- 特殊字符集合
- zzulioj1893: 985的数学难题(二进制计算)
- uva 11489Integer Game
- 微信js sdk 授权上传头像下载代码片段和注意事项