React Native包管理工具一npm 以及--save的区
有人说各种个样的命令行管理工具,不是前端开发的事吗?非也,我们学习了React Native也代表我们学习了前端的一部分哦,如果你接下来学习html CSS JavaScript 等,做移动端开发的我们也可以做前端开发啦,是不是很牛逼?
其实在配置React Native环境配置的时候,我们已经初步接触npm啦查看链接https://www.jianshu.com/p/0e0d725987a8 建议我们使用国内的淘宝镜像,下载速度快。
NPM使用介绍
NPM是随同的NodeJS一起安装的包管理工具,能解决的NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入“npm -v”来测试是否成功安装。命令如下,出现版本提示表示安装成功:
$ npm -v
5.8.0 //小萌安装的版本号
如果你安装的是旧版本的npm,可以很容易得通过npm命令来升级,命令如下:
$ sudo npm install npm -g
npm使用
npm安装React Native的语法格式如下:
$ npm install <模块名称>
例子
npm install react-navigation
安装好之后,react-navigation包就放在了工程目录下的node_modules目录中。


在这里就可以找到啦
全局安装与本地安装
npm的包安装分为本地安装(local),全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如
npm install react-navigation # 本地安装# 本地安装
npm install react-navigation -g # 全局安装-g # 全局安装
在这里只是举个例子,对与react-navigation来说没必要全局安装。
如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
! Error: connect ECONNREFUSED 127.0.0.1
解决办法为:
$ npm config set proxy nullset proxy null
查看安装信息
你可以使用以下命令来查看所有全局安装:
$ npm list -g
如果要查看某个模块的版本号,可以使用命令如下:
$ npm list grunt
projectName@projectVersion /path/to/project/folder/path/to/project/folder
└── grunt@0.4.1└── grunt@0.4.1
使用package.json

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 uninstall react-navigation
卸载后,你可以到/ node_modules /目录下查看包是否还存在,或者使用以下命令查看:
npm ls
更新
我们可以使用以下命令更新:
$ npm update react-navigation
说明一点:
- npm install X:
会把X包安装到node_modules目录中
不会修改package.json
之后运行npm install命令时,不会自动安装X
- npm install X --save:
会把X包安装到node_modules目录中
会在package.json的dependencies属性下添加X
之后运行npm install命令时,会自动安装X到node_modules目录中
之后运行npm install
–production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中
- npm install X –save-dev:
会把X包安装到node_modules目录中
会在package.json的devDependencies属性下添加X
之后运行npm install命令时,会自动安装X到node_modules目录中
之后运行npm install
–production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中
使用原则:
运行时需要用到的包使用–save,否则使用–save-dev。