包和npm
包就是将一些 JavaScript 文件模块组织到一起的一个目录。
包本身也可以依赖于别的包。包就是用来组织 JavaScript 模块的。包里面一般都有一个出口模块,供外部所加载和使用包。
包结构
bin:存放可执行二进制文件的目录
lib:存放 JavaScript 代码的目录
doc:存放文档的目录
test:存放单元测试用例的代码
package.json:包描述文件,说明文件(做依赖管理,类似于Java中的pom文件)
package.json文件说明
- 每个项目的根目录下面,一般都有一个 `package.json` 文件
- 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。
- `npm install` 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
- `package.json` 文件内部就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。
- 比如 `name` 就是项目名称,`version` 是版本。
package.json格式&属性说明:
name:包名
description:包信息简介
version:包的版本
keywords:关键词数组,用于在npm中检索的关键字
author:包作者
main:配置包的入口文件模块,缺省值是 index.js,最好配上便于阅读
dependencies:包的依赖项,npm install 命令会通过该属性自动加载依赖包
scrips:指定了运行脚本命令的 npm命令行 缩写
npm (node package manager)简介
- npm 有两层含义:第一表示 npm 生态系统网站:提供包的平台:http://npmjs.com/第二表示一个终端下的CLI应用程序:用来安装和管理 JavaScript 包的。
- npm 是一个 JavaScript 包管理系统(类似Java中的maven依赖管理)
- npm 本身也是一个包,它已经作为 node 的一个默认的包管理工具了。第一次安装 node 的时候,已经自动帮你安装好这个 npm CLI应用程序了。通过在终端的任意位置输入 `npm v` 就可以查看已安装的 npm 版本。
npm 可以单独进行升级,只需要在终端中输入 `npm install g npm` 就可以实现升级。
npm常用命令
1、查看npm版本:
2、安装本地项目依赖包 :
npm 会自动帮你去远程下载这个包,然后解压到当前项目根目录下的 `node_modules` 目录下。如果 `node_modules` 目录不存在,会自动被创建。 npm install 之前,会先检查node_modules目录中是否已 存在该模块,如果存在,就不再重新安装了。
--save` 表示把安装的依赖项保存到 package.json 文件中的 dependencies 依赖字段中
一般上传代码的时候,不会上传第三方的东西别
别人拿到项目的时候,先去自己执行 npm install 命令安装依赖包
npm install 就会自动读取 package.json 文件中的 dependencies 字符中的内容,然后依次下载
3、全局安装 :
4、删除本地项目依赖包:
加 ` g` 参数表示安装一个全局命令行工具,就是一个CLI程序软件。
5、查看全局命令行安装目录(依赖包安装目录) :
6、npm 版本升级 :
7、强制重新安装 :
8、 npm 会自动找到 package.json 文件中 scripts 字段 中的 start 属性,然后执行里面的值
9 下载package.json中的依赖:
npm 命令中 -- 和 - 的区别
`npm install -g node` 和 `npm install node --global` 的区别
`-g` 是 `--global` 的一个缩写
`-s` 是 `--save` 的缩写
`-h` 是 `--help` 的一个缩写
`-v` 是 `--version` 的缩写
总结
• 包就是在模块的基础之上进一步组织JavaScript代码
• 模块的全局安装一般是安装工具性的东西,安装完成后 可以使用该工具,例如bower、gulp、http-server
• 模块的本地局部安装一般是在项目开发中使用到的功能 性模块,和具体的代码相关。例如request、
• 一个规范的包应该都包含一个package.json文件
Sublime 插件生态系统官网
https://packagecontrol.io/