node使用
1. node运行文件
项目结构
--- project
--- index.js (入口文件)
--- a.js
--- b.js
--- c.js
- 之前我们在浏览器环境可以利用script标签方式引入多个js文件
<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规范
- 一个模块如果想要访问另一个模块的数据,需要一个模块里面导入另一个模块导出。简单理解就是我问你要,你得愿意给我。导入就是我问你要,导出就是我愿意给你。
- 导出
// 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
// 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文件
// 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
// 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文件需要重新运行,否则运行还是老的文件