node使用
1. node运行文件
-
node执行js的方式是在cmd命令行运行
-
运行方式两种
-
直接打开命令行输入node,进入node环境,书写javascript,这种方式书写javascript关闭命令行就需要在重新写一遍,一般开发不推荐使用这种方式。
- 退出node环境按下两次ctrl+c
-
第二种写好一个js文件,利用node执行这个文件(推荐)
- node 文件名.js
js// index.js for(let i=0;i<10;i++){ console.log(i) }
-
-
这种方式运行每一次只能运行一个js文件,但是我们项目不可能由一个文件构成,所以我们项目一般都会有一个入口文件,由这个文件引入了其他的js文件
项目结构 --- project --- index.js (入口文件) --- a.js --- b.js --- c.js
-
之前我们在浏览器环境可以利用script标签方式引入多个js文件
html
<script src="./a.js"></script>
<script src="./b.js"></script>
<script src="./c.js"></script>
<script src="./index.js"></script>
- 在node里面没有html,都是js文件,那么如何在一个js引入其他的js,这种机制在node叫做
模块化管理
2. 模块化概念
-
在node里面每一个js文件被称为一个
模块
,每一个模块都是独立的,一个模块里面无法访问另一个模块里面的数据 -
模块化
就是用来管理一个模块能够访问另一个模块里面的数据 -
node为了解决模块之前的数据通信引入了
commonjs规范
-
一个模块如果想要访问另一个模块的数据,需要一个模块里面导入另一个模块导出。简单理解就是我问你要,你得愿意给我。导入就是我问你要,导出就是我愿意给你。
-
导出
- 单条导出,导出名可以自定义
js// a.js // 属性 const a = 1 const b = 2 // 方法 function getSum(num,num2){ return num + num2 } // 单个导出数据 exports.导出名 = 数据 exports.a = a exports.b = b exports.fn = getSum
- 多条导出
js// b.js // 属性 const a = 1 const b = 2 // 方法 function getSum(num,num2){ return num + num2 } // 多条导出 module.exports = { a: a, b, fn: getSum }
-
导入
- 无论是单条还是多条导入都采用require
- const 数据 = require(文件路径)
- 此处文件后缀名可以省略不写,默认js文件
js// c.js const data = require('./a') const data02 = require('./b.js') console.log(data) console.log(data02) console.log(data.a) console.log(data.b) data.fn()
- 导入的数据都是对象的格式
- 可以使用对象解构的语法,这样就可以直接使用数据,而不需要对象名.key
js// d.js const {a,b,fn} = require('./a') const data02 = require('./b.js') console.log(data) console.log(data02) console.log(a) console.log(b) fn()
-
此处运行javascript需要注意,修改js文件需要重新运行,否则运行还是老的文件
nodemon安装和使用
- nodemon可以像node一样运行javascript文件,但它的优点是运行之后文件只要我们修改文件就会自动在重新运行
- 安装
npm i nodemon -g
- 使用
使用 - nodemon可以像node一样运行javascript文件,但它的优点是运行之后文件只要我们修改文件就会自动在重新运行
- 安装
npm i nodemon -g
- 使用
nodemon javascript文件