node.js

前端工程化:开发项目直到上线,过程中集成的所有工具和技术

Node.js是独立执行JavaScript代码的环境

Node.js环境比浏览器环境中的JS少了BOM和DOM

fs模块-读写文件

模块:类型插件,封装了方法/属性

fs模块:封装了与本机文件系统进行交互的方法/属性

语法:

  • 加载fs模块对象
  • 写入文件内容
  • 读取文件内容

CommonJS标准

需求:定义utils.js模块,封装基地址和求数组总和的函数

使用:

  • 导出:module.exports={}
  • 导入:require('模块名或路径')

模块名或路径:

内置模块:直接写名字(例如:fs,path,http)

自定义模块:写模块文件路径(例如:./utils.js)

ECMAScript标准

默认导出和导入

默认标准使用:

  • 导出:export default{}
  • 导入:import 变量名 from '模块名或路径'

让Node.js切换模块标准为ECMAScript:

  • 运行模块所在的文件夹,新建package.json并设置{"type":"module"}

命名导出和导入

命名标准使用:

  • 导入:export 修饰定义语句
  • 导入:import {同名变量} from '模块名或路径'

包的概念

将模块,代码,其他资料聚合成一个文件夹

包的分类

项目包:用户编写项目和业务逻辑

软件包:封装工具和方法进行使用

要求:根目录中,必须有package.json文件(记录包的清单信息)

注意:导入软件包时,引入的默认是index.js模块文件/main属性指定的模块文件

需求:封装数据求和函数的模块,判断用户名和密码长度函数的模块,形成一个软件包

{

"name":"cz_utils", //软件包名称

"version":"1.0.0", //软件包当前版本

"description":"一个数组和字符串常用工具方法的包", //软件包简短描述

"main":"index.js", //软件包入口点

"author":"itherma", //软件包作者

"license":"MIT" //软件包许可证

}

npm

软件包管理器

npm是Node.js标准的软件包管理器,下载软件包以及管理版本

使用:

  • 初始化清单文件:npm init-y(得到package.json文件,有则略过此命令)
  • 下载软件包:npm i 软件包名称
  • 使用软件包

安装所有依赖

当前项目下,执行npm i安装所有依赖软件包

为什么用node_modules不进行传递:因为用npm下载比磁盘传递的快

全局软件包nodemon

软件包的区别
  • 本地软件包:当前项目内使用,封装属性和方法,存在于node_modules
  • 全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置
nodemon作用

替代node命令,检测代码更改,自动重启程序

使用
  • 安装:npm i nodemon -g(-g代表按照到全局环境中)
  • 运行:nodemon待执行的目标js文件
需求

启动准备好的项目,修改代码保存后,观察自动重启应用程序

相关推荐
理想不理想v1 小时前
vue种ref跟reactive的区别?
前端·javascript·vue.js·webpack·前端框架·node.js·ecmascript
暮毅5 小时前
10.Node.js连接MongoDb
数据库·mongodb·node.js
~甲壳虫11 小时前
说说webpack中常见的Plugin?解决了什么问题?
前端·webpack·node.js
~甲壳虫11 小时前
说说webpack中常见的Loader?解决了什么问题?
前端·webpack·node.js
~甲壳虫11 小时前
说说webpack proxy工作原理?为什么能解决跨域
前端·webpack·node.js
熊的猫12 小时前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js
前端青山21 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
GDAL1 天前
npm入门教程1:npm简介
前端·npm·node.js
郑小憨1 天前
Node.js简介以及安装部署 (基础介绍 一)
java·javascript·node.js
lin-lins1 天前
模块化开发 & webpack
前端·webpack·node.js