前端node.js入门

news2024/11/29 23:46:46

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

Node.js 入门 

什么是 Node.js?

什么是前端工程化?  

Node.js 为何能执行 JS? 

fs 模块 - 读写文件 

path 模块 - 路径处理

URL 中的端口号 

常见的服务程序 

Node.js 模块化

什么是模块化? 

CommonJS 标准 

ECMAScript 标准 - 默认导出和导入  

包的概念  

npm - 软件包管理器 

npm - 全局软件包 nodemon

Node.js 总结  


Node.js 入门 

什么是 Node.js?

定义:

作用:使用 Node.js 编写服务器端程序
        编写数据接口,提供网页资源浏览功能等等
        前端工程化 :为后续学习 Vue 和 React 等框架做铺垫

什么是前端工程化?  

前端工程化:开发项目直到上线,过程中集成的所有 工具和技术
Node.js 是前端工程化的基础(因为 Node.js 可以主动读取前端代码内容)

Node.js 为何能执行 JS? 

首先:浏览器能执行 JS 代码,依靠的是内核中的 V8 引擎 (C++ 程序)
其次:Node.js 是基于 Chrome V8 引擎进行封装(运行环境)
区别:都支持 ECMAScript 标准语法,Node.js 有独立的 API
注意: Node.js 环境没有 DOM 和 BOM 等

fs 模块 - 读写文件 

fs 模块:封装了与本机文件系统进行交互的,方法/属性
语法:
1. 加载 fs 模块对象
2. 写入 文件内容
3. 读取 文件内容
//1.加载fs模块对象
const fs = require('fs')
//2.写入文件内容
fs.writeFile('./test.txt','hello world',(err)=>{
    if(err){
        console.log(err)
    }
    else{
        console.log('写入成功')
    }
})
//3.读取文件内容
fs.readFile('./test.txt',(err,data)=>{
    if(err){
        console.log(err)
    }
    else{
        console.log(data.toString())
    }
})

 终端显示为:                        

path 模块 - 路径处理

建议:在 Node.js 代码中,使用 绝对路径
补充: __dirname 内置变量(获取当前模块目录-绝对路径)
注意: path.join() 会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
语法:
1. 加载 path 模块
2. 使用 path.join 方法,拼接路径

URL 中的端口号 

URL: 统一资源定位符,简称网址,用于访问服务器里的资源
端口号:标记服务器里不同功能的 服务程序
端口号范围:0-65535 之间的任意整数
注意:http 协议, 默认 访问 80 端口

常见的服务程序 

Web 服务程序 :用于提供网上信息浏览功能
注意:0-1023 和一些特定端口号被占用,我们自己编写服务程序请避开使用

Node.js 模块化

什么是模块化? 

定义:

概念:项目是由很多个模块文件组成的
好处:提高代码复用性,按需加载, 独立作用域
使用:需要标准语法 导出 导入 进行使用

CommonJS 标准 

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

ECMAScript 标准 - 默认导出和导入  

默认标准使用:
1. 导出: export default {}
2. 导入: import 变量名 from '模块名或路径'
注意: Node.js 默认支持 CommonJS 标准语法
如需使用 ECMAScript 标准语法,在运行模块所在文件夹新建 package.json 文件,并设置
{ "type" : "module" }

包的概念  

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

包分类:
         项目包:主要用于编写项目和业务逻辑
         软件包: 封装工具和方法 进行使用
要求:根目录中,必须有 package.json 文件(记录包的清单信息)
注意:导入软件包时,引入的默认是 index.js 模块文件 / main 属性指定的模块文件

npm - 软件包管理器 

定义:

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

npm - 全局软件包 nodemon

软件包区别:
本地软件包: 当前项目 内使用,封装 属性和方法 ,存在于 node_modules
全局软件包: 本机 所有项目使用,封装 命令和工具 ,存在于系统设置的位置
nodemon 作用:替代 node 命令,检测代码更改,自动重启程序
使用:
1. 安装:npm i nodemon -g(-g 代表安装到全局环境中)
2. 运行:nodemon 待执行的目标 js 文件

Node.js 总结  

Node.js 模块化:
概念:每个文件当做一个模块,独立作用域,按需加载
使用:采用特定的标准语法导出和导入进行使用

CommonJS 标准:一般应用在 Node.js 项目环境中
ECMAScript 标准:一般应用在前端工程化项目中
Node.js 包:
概念:把模块文件,代码文件,其他资料聚合成一个文件夹
项目包:编写项目需求和 业务逻辑 的文件夹
软件包: 封装工具和方法 进行使用的文件夹(一般使用 npm 管理)
本地软件包:作用在 当前 项目,一般封装的 属性/方法 ,供项目调用编写业务需求
全局软件包:作用在 所有 项目,一般封装的 命令/工具 ,支撑项目运行

常用命令:  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

netty组件详解-上

netty服务端示例: private void doStart() throws InterruptedException {System.out.println("netty服务已启动");// 线程组EventLoopGroup group new NioEventLoopGroup();try {// 创建服务器端引导类ServerBootstrap server new ServerBootstrap();// 初始化服…

CDHD高创驱动器通过ServoStudio备份和恢复参数的具体方法步骤

CDHD高创驱动器通过ServoStudio备份和恢复参数的具体方法步骤 硬件连接: 如下图所示,通过通信线缆将伺服驱动器和电脑进行连接,一端为RJ11,一端为USB, 软件连接: 打开伺服调试软件ServoStudio,在驱动器配置中找到连接—自动连接,点击搜索&连接,此时软件会自动搜索…

基于jsp+sevlet+mysql实验室设备管理系统2.0

基于jspsevletmysql实验室设备管理系统2.0 一、系统介绍二、功能展示1.控制台2.申购设备3.设备列表4.设备维护5.设备类型6.报废设备7.维修记录 四、其他系统实现五、获取源码 一、系统介绍 系统主要功能: 普通用户:控制台、申购设备、设备列表、设备维护…

docker 安装oracle 11g

docker 安装oracle 11g 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11gD:\docker\oracle\oracle11g>docker exec -it oracle11…

CMU 15-445 -- Query Optimization - 10

CMU 15-445 -- Query Optimization - 10 引言Query Optimization TechniquesQuery RewritingPredicate PushdownProjections Pushdown Cost-based SearchCost EstimationStatisticsEquality PredicateRange PredicateNegation QueryConjunction QueryDisjunction QueryJoins直方…

山西电力市场日前价格预测【2023-07-19】

日前价格预测 预测明日(2023-07-19)山西电力市场全天平均日前电价为362.73元/MWh。其中,最高日前电价为395.74元/MWh,预计出现在06: 00。最低日前电价为316.17元/MWh,预计出现在13: 45。 价差方向预测 1:实…

ES6标准下在if中进行函数声明

ES5中规定,函数只能在顶层作用域或函数作用域之中声明,不能在块级作用域声明。 // 情况一 if (true) {function f() {} }// 情况二 try {function f() {} } catch(e) {// ... }上面两种函数声明,根据 ES5 的规定都是非法的。但是&#xff0c…

win10 host 配置不生效 浏览器访问无效

遇到了一个比较坑的问题,host配置不生效。电脑是win10,排查了一个小时,刚开始我先排查编码是否有问题,然后又排查是不是权限的问题,经过我的修改编码和权限还是有问题,也查看了一些博客也没找到跟我出现一样…

从零搭建vue+electron桌面应用

从零搭建vueelectron桌面应用 一、准备工作1.全局下载electron2.全局下载vue脚手架3.创建vue项目(这里用的是vue2版本)4.安装打包插件5.安装electron-builder,安装后可以直接生成主进程的配置文件6.在vue.config.js中添加以下配置 二、运行项…

SpringCloud(五)Gateway 路由网关

一、路由网关 官网地址:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ 我们需要连接互联网,那么就需要将手机或是电脑连接到家里的路由器才可以,而路由器则连接光猫,光猫再通过光纤连接到互联网&a…

Linux 的远程唤醒

Linux (Ubuntu、Debian、Centos …) 的远程唤醒 环境说明: 两台局域网内的 linux 主机,本环境的系统为 loongnix 目的主机为:IP 192.168.12.11 MAC 86:d8:60:47:28:22远程主机为:IP 192.168.12.15 一、唤醒准备工作 (目的机上操…

Sentinel限流--流控模式与限流效果

文章目录 1、簇点链路2、流控入门案例3、流控模式:关联模式4、流控模式:链路模式5、流控效果:warm up6、限流效果:排队等待7、热点参数限流 1、簇点链路 簇点链路就是项目内的调用链路(controller -> servcie ->…

python-在transformers的问答模型中使用中文

先安装transformers在huggingface下载模型 模型bert-multi-cased-finetuned-xquadv1可以从huggingface中下载,具体操作方法可以参照文章https://blog.csdn.net/zhaomengsen/article/details/130616837下载 git clone就可以了然后使用pipline加载模型 from transfor…

【卫朋】华为 IFS 集成财经服务流程(限制版)

目录 简介 集成财经服务 专栏列表 CSDN学院 简介 今天主要来谈谈华为流程体系中的财经流程。 大家可以看下面这张图。 深蓝色标注的就是 IFS 流程的在企业整体流程架构中的位置。 财经部门其实也是直接或间接跟客户打交道的。 这就意味着,财经也是需要做端到…

Unity源码分享-大量鱼类模型Underwater Animals Pack

Unity源码分享-大量鱼类模型Underwater Animals Pack 下载地址:https://download.csdn.net/download/Highning0007/88061483

FPGA XDMA 中断模式实现 PCIE3.0 HDMI视频采集卡 提供2套工程源码和QT上位机源码

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案视频采集和缓存XDMA简介XDMA中断模式QT上位机及其源码 5、vivado工程详解6、上板调试验证7、福利:工程代码的获取 1、前言 PCIE(PCI Express)采用了目前业内流行的点对点串…

中国芯片发出怒吼,要求回购700台光刻机,ASML承受不起

多家媒体报道指国内知名存储芯片企业长江存储的董事长指出已买回的光刻机因维护和零件问题可能无法使用,因此提出基于公平原则,ASML理应回购这些光刻机,凸显出中国芯片企业的愤怒。 由于美国的阻挠,ASML不仅不会继续对中国出售先进…

工厂方法模式(java)

目录 结构 案例 类图 代码实现 抽象咖啡工厂 美式咖啡工厂 拿铁咖啡工厂 咖啡类(抽象产品类) 美式咖啡 拿铁咖啡 咖啡店类 测试类 优缺点 优点 缺点 结构 工厂方法模式的主要角色: 抽象工厂(Abstract Factory&…

MySQL常用语句

目录 连接MySQL 数据库操作 表的操作 数据操作 进阶查询 源码等资料获取方法 连接MySQL -- 语法:mysql -u用户名 -p密码 注:--空格 起到注释的作用 mysql -uroot -p123456 数据库操作 -- 显示当前时间、用户名、数据库版本(可以单独…

NodeJS实现支付宝沙箱支付②③

文章目录 前言版权声明Alipay SDK 沙箱环境简介Node环境要求沙箱环境配置下载所需模块准备前端静态页面以及Node服务器文件夹规范AlipaySdk 配置准备AlipaySdk 代码演示 Alipay实例化 ~ alipay.sdk 文件 AlipayForm ~ alipayForm文件 AlipayFormStatus ~ alipayForm文件 …