NPM是什么?
如果我们现在想做SAPUI5开发,那么首先要安装开发环境并且需要下载开发SAPUI5应用所需要的环境,比如SAPUI5 Runtime。最开始就是在各种官网资源,Github。国内有各种网盘对吧。
但是当开发需要的资源越多,那就需要不停的去不同网站下载这些内容,而且所需资源的版本号也很难去管理。所以大神Isaaz给出了解决方案,用同一个工具把这些代码集中在一个共享服务器管理。在我们项目文件目录下建立package.json文件,在文件中写上需要的资源,运行npm install命令,自动帮开发人员下载代码。
npm 与 Node.js 的发展相辅相成的,不是一开始就被大家接受使用npm。Ryan Dahl 写了 Node.js后因node.js缺少一个包管理器,于是他和 npm 的作者一拍即合,在node.js内置了 npm。随着 Node.js 的火爆,大家开始用 npm 来共享 JS 代码了。所以SAPUI5也是顺应时代潮流,在SAPUI5的官网中也推荐使用 npm install 来下载 UI5资源。npm常见的使用场景有以下几种:
-
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
-
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
-
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
新版nodejs已经集成了npm,安装nodejs时,npm会同时安装。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功(命令和截图均为Windows操作系统):
npm -v
国内直接使用 npm 的官方镜像慢的,这里推荐使用淘宝 NPM 镜像命令:
npm install -g cnpm --registry=https://registry.npmmirror.com
示例:npm 命令安装UI5 Tooling
npm 安装 其他模块资源语法格式如下:
npm install <Module Name> -option
npm 的包安装分为本地安装(local)、全局安装(global)两种
npm install <Module Name> # 本地安装
npm install <Module Name> -g # 全局安装
以UI5 Tooling作为示例,我们使用 npm 命令安装SAPUI5开发使用的UI5 Tooling:
# Global installation to have the command available 全局安装
npm install --global @ui5/cli
# Additional local install in your project 本地安装
npm install --save-dev @ui5/cli
# Verify installation
ui5 --help
安装完成后,UI5 Tooling 包就放在了工程目录下(本地安装,只能当前项目中使用)或全局路径(全局安装,所有项目都可使用,但是会优先使用本地UI5 tooling)的 node_modules 目录中。
如果出现npm err! Error: connect ECONNREFUSED错误,解决办法为执行以下命令:
npm config set proxy null
本地安装
npm install --save-dev @ui5/cli
安装前:
安装后:
全局安装
npm install --global @ui5/cli
查看安装信息
你可以使用以下命令来查看所有全局安装的模块:
npm list -g
如果要查看某个模块的版本号,可以使用命令如下:
npm list grunt -option
查看UI5 tooling全局安装的版本
npm list @ui5/cli -g
有安装就可以卸载,我们可以使用以下命令来卸载安装的模块。
npm uninstall <Module Name>
我们可以使用以下命令更新模块:
npm update @ui5/cli
使用 npm 命令生成package.json
每个 JS项目都可以被当作 npm 软件包,package.json 用来描述项目和软件包所需资源信息。我们可以将 package.json 作为规格说明书,当上传或移植项目的时候不需要移植项目所有引用的资源,而是执行npm命令,自己下载即可。package.json具有以下属性:
-
name - 包名。
-
version - 包的版本号。
-
description - 包的描述。
-
homepage - 包的官网 url 。
-
author - 包的作者姓名。
-
contributors - 包的其他贡献者姓名。
-
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
-
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
-
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
-
keywords - 关键字
通过运行 NPM INIT 命令生成package.json文件
npm init
根据你自己的需要回车输入。在最后输入 "yes" 后会生成 package.json 文件。
UI5 Tooling推荐使用命令 npm init --yes,自动填写属性,helloword程序简单,所以内容简单:
npm init --yes