hoyong

导航

NodeJS基础

Node.js开发环境准备


NPM (node.js package management)
> 全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Node.js的包管理工具。
- [官方网站](https://www.npmjs.com/ )

 

1. 普通安装方式[官方网站](https://nodejs.org/zh-cn/)

2. 多版本安装方式
    - 卸载已有的Node.js
    - 下载[nvm](https://github.com/coreybutler/nvm-windows)
    - 在C盘创建目录dev
    - 在dev目中中创建两个子目录nvm和nodejs
    - 并且把nvm包解压进去nvm目录中
    - 在install.cmd文件上面右键选择【以管理员身份运行】
    - 打开的cmd窗口直接回车会生成一个settings.txt文件,修改文件中配置信息
    - 配置nvm和Node.js环境变量
        + NVM_HOME:C:\dev\nvm
        + NVM_SYMLINK:C:\dev\nodejs
    - 把配置好的两个环境变量加到Path中
## nvm常用的命令
- nvm list 查看当前安装的Node.js所有版本
- nvm install 版本号 安装指定版本的Node.js
- nvm uninstall 版本号 卸载指定版本的Node.js
- nvm use 版本号 选择指定版本的Node.js

 

npm包安装方式
全局安装 -g:
    全局安装的包位于Node.js环境的node_modules目录下,全局安装的包一般用于命令行工具
    
    本地安装:
    本地安装的包在当前目录下的node_modules里面,本地安装的包一般用于实际的开发工作
    ------------------------------------------------------------
    npm常用的命令:
    1、安装包(如果没有指定版本号,那么安装最新版本)
    npm install -g 包名称 (全局安装)
    npm install 包名称 (本地安装)

    2、安装包的时候可以指定版本
    npm install -g 包名称@版本号

    3、卸载包
    npm uninstall -g 包名

    4、更新包(更新到最新版本)
    npm update -g 包名
    
    开发环境(平时开发使用的环境)
    生产环境(项目部署上线之后的服务器环境)
    --save 向生产环境添加依赖 dependencies
    --save-dev 向开发环境添加依赖 DevDependencies

 

 

解决npm安装包被墙的问题
- --registry
    + npm config set registry=https//registry.npm.taobao.org
- cnpm
    + 淘宝NPM镜像,与官方NPM的同步频率目前为10分钟一次
    + 官网: http://npm.taobao.org/
    + npm install -g cnpm –registry=https//registry.npm.taobao.org
    + 使用cnpm安装包: cnpm install 包名
- nrm
    + 作用:修改镜像源
    + 项目地址:https://www.npmjs.com/package/nrm
    + 安装:npm install -g nrm

### npm常用命令
- 安装包
- 更新包
- 卸载包

### yarn基本使用
- 类比npm基本使用

## 自定义包
### 包的规范
- package.json必须在包的顶层目录下
- 二进制文件应该在bin目录下
- JavaScript代码应该在lib目录下
- 文档应该在doc目录下
- 单元测试应该在test目录下

### package.json字段分析
- name:包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格
- description:包的简要说明
- version:符合语义化版本识别规范的版本字符串
- keywords:关键字数组,通常用于搜索
- maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段
- contributors:贡献者数组,格式与maintainers相同。包的作者应该是贡献者数组的第一- 个元素
- bugs:提交bug的地址,可以是网站或者电子邮件地址
- licenses:许可证数组,每个元素要包含type(许可证名称)和url(链接到许可证文本的- 地址)字段
- repositories:仓库托管地址数组,每个元素要包含type(仓库类型,如git)、url(仓- 库的地址)和path(相对于仓库的路径,可选)字段
- dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成
- devDependencies:开发环境包的依赖,一个关联数组,由包的名称和版本号组成

 

posted on 2019-05-11 15:43  hoyong  阅读(90)  评论(0编辑  收藏  举报