1.为什么React Native 需要node.js
(1) 提供React Packager的运行环境
(2) 提供npm包管理器来安装第三方模块node_module
(3) 提供一些可以参考的规范
react packager的作用:
2.npm如何用?
npm install
后面可以跟参数
-g 表示全局(安装可在命令行直接执行的模块,如 react-native-cli)
--save或者-S
3.package.json和node_modules
npm install 必须在有package.json的目录下执行
一个正常创建的React Native项目必须包含有package.json
你也可以使用npm init命令创建一个空的package.json(混编原生)
package.json如同一张购物清单
总结:
新装第三方库执行 npm install 库名 --save
复制或下载别人的react native项目之后 一般不复制里面的node_modules 那么第一反应是执行npm install
node_modules随用随装,原则上不复制,不移动,不修改,不上传
4.什么是commonjs规范
js没有模块概念,无法互相引用
node.js指定了commonjs模块规范,便于分拆,引用代码查看
react native借鉴了这一做法
两种引用语法:
ES5 不推荐
module.export = moduleA; //a.js
var moduleA = require(' ./a') // 与a.js同目录的b.js
ES6 不推荐
export default moduleA ; //a.js
import moduleA from ' /a' //与a.js同目录下的b.js
6.模块查找和引用规则
require ('ooxx') - 引用node_modules/ooxx/index.js,或node_modules/ooxx/package.json中main字段所指定的js文件
require (' ./a') -引用同目录下的a.js文件. 注意 ./不能省略 .js后缀可写可不写
require(' ../a/b') - 引用父目录下的a目录下的b.js文件,如果b为目录则引用b目录下的index.js 文件