JS第二十七次笔记
1.目录
1.1 Node.js的模块化
模块:包括内置模块和自定义模块
utils.js
/**
* 目标:基于 CommonJS 标准语法,封装属性和方法并导出
*/
const baseURL = 'http://hmajax.itheima.net'//基地址
const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
//reduce是累加器(上一次结果,当前每一项)
//导出 基地址和求和函数,给其他模块使用
// CommonJS规范导出
module.exports = {
baseURL: baseURL,
arraySum: getArraySum
}
/**
* 目标:基于 CommonJS 标准语法,导入工具属性和方法使用
*/
// 导入
// 使用CommonJS 标准语法,导出必须使用module.exports;导入必须使用require
const obj = require('./utils.js')
console.log(obj)
const result = obj.arraySum([5, 1, 2, 3])
console.log(result)
1.2 ECMAScript标准
1.2.1 ECMAScript标准——默认导出和导入
/**
* 目标:基于 CommonJS 标准语法,封装属性和方法并导出
*/
const baseURL = 'http://hmajax.itheima.net'//基地址
const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
//reduce是累加器(上一次结果,当前每一项)
//导出 基地址和求和函数,给其他模块使用
// ECMAScript规范导出
export default {
//键:值
url: baseURL,
getArraySum
}
/**
* 目标:基于 ECMAScript标准语法,导入工具属性和方法使用
*/
// 导入
// import 变量名 from '模块路径';
import obj from './utils.js'
console.log(obj);
// 创建package.json文件,内容如下:
// {
// // 选module就表示可以使用ECMAScript 6的模块化语法
// "type": "module"
// }
1.2.2 ECMAScript默认不支持CommonJS标准语法
注意:Node.js默认支持CommonJS标准语法,而ECMAScript默认不支持标准语法,所以需要创建一个package.json文件,并设置["type":"module"](module就表示ECMAScript语法)
{
"type": "module"
}
结果:
1.2.3 ECMAScript标准——命名导出和导入
命名导出
*ECMAScript标准语法
*export修饰模块
// 命名(按需导出):export表示导出对应模块
export const baseURL = 'http://hmajax.itheima.net'//基地址
export const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
//reduce是累加器(上一次结果,当前每一项)
命名导入
*ECMAScript标准语法
// 按需导入又称为命名导入(可在大括号中指定多个或一个模块进行导入)
import { baseURL } from './utils.js'
console.log(baseURL);
结果:
2 软件包
2.1 包的概念
2.2 npm——软件包管理器
2.3 npm——安装所有依赖
使用场景:当项目只有package.json没有node_modules时,使用 npm i 命令安装所有依赖软件包
2.4 npm——全局软件包nodemon
nodemon:热更新,检测到文件变化后,自动更新
安装全局命令:npm i -g
2.5 Node.js总结
有很多模块,默认为common模块