node,day02

news/2025/3/15 19:13:15/

模块化

在 Node.js 中,每个文件都被视为一个单独的模块,
CommonJs 模块是为 Node.js 打包 Javascript 代码的原始方式。Nodejs 还支持浏览器和其他 JavaScript 运行时使用的 ECMAScript 模快标准

在node.js中,每一个js文件,都被划分为一个模块

概念:项目是由多个模块组成

好处,提高代码的复用性,按需加载,独立作用域

使用:需要标准语法导出和导入使用

commmon.js标准

使用:
1.导出: module.exports = 2.导入: require(模块名或路径)
模块名或路径:
内置模块:直接写名字(例如: fs,path,http)自定义模块:写模块文件路径(例如:./utils.js)

ecmaScript默认导入导出

导出export default{}

导入import变量名from'模块名路径'

注意:Nodejs默认支持 CommonJS 标准语法
如需使用ECMAScript 标准语法,在运行模块所在文件夹新建 packagejson 文件,并设置"type":"module"]

ecmaScript命名导入导出

命名标准使用:
1.导出: export 修饰定义语句2.导入: import{ 同名变量]from 模块名或路径

如何选择

按需加载,使用命名导入和导出

npm软件包管理器

初始化清单文件:npm init  -y (得到package.json文件,有则略过此命令)

下载软件包:npm i 软件包的名称

使用软件包:

npm:安装所有依赖

解决:项目终端输入命令 npm i  下载package json

软件包:
软件包区别:
本地软件包:当前项目内使用,封装属性和方法,存在于node modules

全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置

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

安装:npm  i  nodemon-g (-g代表安装到全局路径中里面去)

运行:nodemon待执行的目标,js文件

需求,启动准备好的项目,修改代码保存之后,观察自动启动程序

node.js包模块文件,代码文件,聚合一个包

项目包:编写项目需求和业务逻辑的文件夹
软件包:封装工具和方法进行使用的文件夹(一般使用 npm 管理

删除软件包 npm -uni 软件包名

什么是 Webpack?
定义:
本质上,webpack是一个用于现代JavaScript应用程序的静态模块打包工具当webpack处理应用程序时,它会在内部从一个或多个入口点构建一个依赖图(dependency graph),然后将你项目中所需的每一个模块组合成一个或多个bundles,它们均为静态资源,用于展示你的内容。
静态模块:指的是编写代码过程中的,html,css,js,图片等固定内容的文件打包:把静态模块内容,压缩,整合,转译等(前端工程化)

把less / sass 转成 css 代码把ES6+降级成ES5
支持多种模块标准语法
问题:为何不学 vite ?
因为:很多项目还是基于Webpack 构建,并为 Vue
React脚手架使用做铺垫!

修改webpack打包入口和出口‘

自动生产html文件

htmlwebpackplugin

webpack打包css

加载器 css—loader解析css代码

加载器 css-style-loader 把解析后的css插入到dom中

配制webpack

安装webpack@5

优化

搭建环境


http://www.ppmy.cn/news/1045776.html

相关文章

构造不包含字母和数字的webshell

构造不包含字母和数字的webshell <?php echo "A"^""; ?> 输出的结果是字符"!“。之所以会得到这样的结果&#xff0c;是因为代码中对字符"A"和字符”"进行了异或操作。在PHP中&#xff0c;两个变量进行异或时&#xff0c;…

Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用

一.Admin管理员的使用 1、启动django服务 使用创建管理员之前&#xff0c;一定要先启动django服务&#xff0c;虽然TASK01和TASK02是分开的&#xff0c;但是进行第二个流程的时候记得先启动django服务&#xff0c;注意此时是在你的项目文件夹下启动的&#xff0c;时刻注意要执…

2308d取用户名

原文 import core.sys.windows.windows; import std.conv; import std.stdio; import std.range;pragma(lib, "advapi32.lib");string getSafeUsername() system {wchar[] userName;DWORD userNameSize 0;// First, try GetUserNameW (Unicode version)if (!GetUse…

GAN!生成对抗网络GAN全维度介绍与实战

目录 一、引言1.1 生成对抗网络简介1.2 应用领域概览1.3 GAN的重要性 二、理论基础2.1 生成对抗网络的工作原理2.1.1 生成器生成过程 2.1.2 判别器判别过程 2.1.3 训练过程训练代码示例 2.1.4 平衡与收敛 2.2 数学背景2.2.1 损失函数生成器损失判别器损失 2.2.2 优化方法优化代…

Java程序设计——编写一个登录页面

需要编写两个类 LonginFrame、MainFrame LonginFrame类 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LoginFrame extends JFrame {JLabel lbluserLogIn;JL…

记一次线上OOM事故

OOM 问题 linux内核有个机制叫OOM killer(Out-Of-Memory killer)&#xff0c;当系统需要申请内存却申请不到时&#xff0c;OOM killer会检查当前进程中占用内存最大者&#xff0c;将其杀掉&#xff0c;腾出内存保障系统正常运行。 一般而言&#xff0c;一个应用的内存逐渐增加&…

Log4net在.Net Winform项目中的使用

引言&#xff1a; Log4net是一个流行的日志记录工具&#xff0c;可以帮助开发人员在应用程序中实现高效的日志记录。本文将提供一个详细的分步骤示例&#xff0c;来帮助您在.Net Winform项目中使用Log4net。 目录 一、安装Log4net二、配置Log4net三、在项目中使用Log4net四、初…

【C# 基础精讲】使用async和await进行异步编程

在C#中&#xff0c;使用async和await关键字进行异步编程是一种强大的工具&#xff0c;可以在不阻塞主线程的情况下执行耗时操作&#xff0c;提高程序的并发性和响应性。本文将深入探讨async和await的基本概念、使用场景、编码规范以及一些示例&#xff0c;以帮助您更好地理解如…