• 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文件
    需求

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

  • 相关阅读:
    刷题记录:牛客NC16708[NOIP2002]过河卒
    聚观早报 | 新一代iPad 10取消耳机孔;哈啰电动车推出小哈修车
    R语言R原生plot函数和lines函数的主要参数说明、解析(type、pch、cex、lty、lwd、col、xlab、ylab)
    数据库的基本操作(5)
    万户OA漏洞分析、利用与防护
    [GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
    适用于嵌入式arm的ffmpeg编解码
    电脑常见的故障和解决办法
    RabbitMQ(七)延迟队列
    导师邀请你继续跟他读博,你会不会立马答应?
  • 原文地址:https://blog.csdn.net/m0_73172034/article/details/132719977