JavaScript包管理器综述

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50920356 JavaScript包管理器综述作者:chszs,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50920356

JavaScript包管理器综述

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

对于JavaScript来说,包管理器并不是一个新概念,npm和bower是JavaScript的两个最流行的包管理器工具,JavaScript的包管理器还有volo、ringojs、component。这些包管理器相比,npm和bower支持的JavaScript库和模块最多。

volo:http://www.volojs.org/ ,一个基于Node.js的工具,可用于快速创建项目、添加依赖库、自动化常见的任务。

ringojs:http://ringojs.org/
Ringo是基于JVM的JavaScript平台,针对服务器端应用进行了优化,用于开发多线程的JavaScript程序。Ringo峰值了大量内建的模块,遵循CommonJS标准。Ringo基于Mozilla的Rhino JavaScript引擎,而Rhino JavaScript引擎是JDK 6以上内嵌的脚本引擎,Ringo在Rhino的基础上进行了增强,主要是多线程编程这部分。
rp是RingoJS的包管理器,其目标是为本地RingoJS安装提供简易的包管理,以及在远程包注册表中发布包。

Component:https://github.com/componentjs/component ,这个包管理器项目已经停止维护了。
Jam:http://jamjs.org/ ,一个JavaScript的包管理器,可以管理依赖、快速载入和模块化,与Bower相似,只管理前端的JavaScript模块。

webpack:http://webpack.github.io/ ,一款开源的模块加载器兼打包工具,它能把各种资源例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。

jspm:http://jspm.io/ ,是基于SystemJS的Javascript包管理器,是基于动态的ES6模块加载器之上构建的工具。

browserify:http://browserify.org/ ,让开发者使用类似于Node.js的require()方式来组织浏览器端的JavaScript代码,通过预编译让前端JavaScript可以直接使用Node NPM安装的一些库。

npm主要处理兼容Node.js的JavaScript模块,而Bower聚焦于整个Web平台,可以提供包含模块、脚本、CSS样式表、HTML模板、图片Image、字体的包。故npm主要用于Node.js开发,bower往往工作于客户端。

npm和bower使用了互不兼容的组织模式,可以在同一个项目中一起使用,它们使用了不同的元数据文件,npm是package.json,bower是bower.json,而且它们把包安装到不同的目录下。通常使用npm管理服务器端的包,使用bower管理客户端的包。

与Java Maven不同,JavaScript的包管理器主要用于查找包、安装包、管理包的版本。npm除此之外还提供了简单的build相关和test相关的任务。

使用JavaScript包管理器

1)在安装bower或npm后,在项目根目录首先应执行

bower init
npm init

包管理器会询问一些项目设置相关的问题。一一回答后包管理器就会为项目创建bower.json或package.json配置文档。

2)要搜索可用的包,执行

bower search <关键词>
npm search <关键词>

包管理器会从网络仓库中搜出一堆包列表显示。

3)要安装包,执行

bower install <包名>
npm install <包名>

要安装包的指定版本,命令语法如下:

bower install <包名>#<包版本>
npm install <包名>@<包版本>

还可以把项目使用的每一个包的版本信息都保存到项目的元数据文件中,包管理器(包括第三方的包管理器)都可以使用元数据文件来监护客户端的维护、构建、测试和启动任务。

当然,最佳的方法还是把包的版本信息保存到项目的元数据配置文件中,使用–save选项,命令语法如下:

bower install --save <包名>#<包版本>
npm install --save <包名>@<包版本>
目录
相关文章
|
2月前
|
JavaScript 前端开发
JS将两个数组和合并成数组包对象格式的方法
JS将两个数组和合并成数组包对象格式的方法
25 0
|
3月前
|
JavaScript 前端开发 IDE
如何像人类一样写JavaScript代码(包会)之函数基本使用
如何像人类一样写JavaScript代码(包会)之函数基本使用
如何像人类一样写JavaScript代码(包会)之函数基本使用
|
3月前
|
JavaScript 前端开发 程序员
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
118 1
|
4月前
|
JavaScript 前端开发
什么是JavaScript预解析?包学会!
1.我们js引擎运行js 分为两步:预解析 代码执行          (1).预解析 js引擎会把js 里面所有的 var 还有 function 提升到当前作用域的最前面          (2).代码执行 按照代码书写的顺序从上往下执行 2.预解析分为 变量预解析 (变量提升) 和 函数预解析(函数提升)         (1) 变量提升 就是把所有的变量声明提升到当前的作用域最前面 不提升赋值操作         (2) 函数提升 就是把所有的函数声明提升到当前作用域的最前面不调用函数
|
8月前
|
前端开发 JavaScript
JavaScript 使用axios工具包发送Ajax请求
JavaScript 使用axios工具包发送Ajax请求
51 0
|
8月前
|
JavaScript 程序员 API
Node.js----npm与包
Node.js----npm与包
|
8月前
|
JavaScript
Node.js学习笔记----发布包
Node.js学习笔记----发布包
|
8月前
|
JavaScript
Node.js学习笔记----npm与包
Node.js学习笔记----npm与包
|
10月前
|
存储 前端开发 JavaScript
前端工程化的Node.js之代码的组织/部署的包 package
在现代的Web开发中,前端工程化已经成为了不可或缺的一部分。而Node.js作为JavaScript的运行环境,为前端工程化提供了很多强大的工具和支持。其中,代码的组织和部署是前端工程化中非常重要的一部分,而Node.js的包管理系统npm就是解决这个问题的利器。今天我们就来探讨一下如何使用npm来进行代码的组织和部署。
65 0
|
11月前
|
JavaScript 前端开发 数据安全/隐私保护
[✔️]cocos creator 2.x无法加载.js后缀的npm包
[✔️]cocos creator 2.x无法加载.js后缀的npm包
154 0