两个独立的文件之间想要联系 ,就需要彼此之间导入,导出。
1.commonJS标准中的导出导入
1.导出:module.exports={}
2.导入:require('模块名或路径')
在01.js文件下写好一个求和函数:
const getArraySum = arr =>arr.reduce((sum,item)=>sum += item,0)
//导出
module.exports ={
arraySum:getArraySum
}
在02.js文件中导入:
// 导入
const obj = require('./01.js')
//这样就能调用01.js里面的函数了
const result = obj.arraySum([5,1,2,3])
console.log(result)
2.ECMAScript标准中的导出导入
在ECMAScript标准中有两种方法:默认和命名
1.默认标准使用:
1.导出:export default{}
2.导入:import '变量名' from '模块名或路径'
不过Nodejs默认使用上面的CommonJS标准的导出导入,要想使用ECMAScript标准的则需要在运行模块所在文件夹新建一个package.json文件,并配置上 {"type":"module"}
对比上面的方法:
const getArraySum = arr =>arr.reduce((sum,item)=>sum += item,0)
//导出
export default ={
arraySum:getArraySum
}
// 导入
import obj from './01.js'
//这样就能调用01.js里面的函数了
const result = obj.arraySum([5,1,2,3])
console.log(result)
2.命名标准使用:
该方法按需加载并不像默认那样整个文件都导出
1.导出:export 修饰定义语句
2.导入:import { 同名变量 } from '模块名或路径'
//在01.js文件的这个变量前面直接写export表示要导出这个变量
export const getArraySum = arr =>arr.reduce((sum,item)=>sum += item,0)
// 在02.js中导入
import { getArraySum } from './01.js'
//这样就能调用01.js里面的函数了
const result = getArraySum ([5,1,2,3])
console.log(result)