nodejs模块_1_自定义/分类/全局函数/querystring/URL

Node.js | 搭建后端服务器(含内置模块 http | url | querystring 的使用) 通过使用NodeJs的内置模块http快速搭建一个node后端服务器,并使用内置模块url等扩展其功能:实现后端路由、将node作为中间层使用、使用node实现爬虫 阅读详情

3.模块

         模块就是一个封装好的功能体

         在nodejs下,模块分为自定义模块、核心模块(官方提供)、第三方模块

3.1 自定义模块

   在nodejs下,任意一个js文件都是一个模块,文件中的代码默认被一个构造函数所包含

(function(exprots,require,module,__filename,__dirname){

  //程序员编写代码

})

__filename 

当前模块的完整路径和文件名称

__dirname

当前模块的完整路径

require()

引入一个模块 ('./***.js')

module

指代当前的模块对象

module.exports

当前模块导出的对象,包含供其它模块使用的属性和方法

exprots

等价于module.exprots

3.2 模块分类

 

以路径开头

不以路径开头

文件模块

require('./circle.js') 常用于用于自定义的模块,如果后缀名是js,可以省略

require('url') 用于引入官方提供的核心模块

目录模块

require('./02_2') 在02_2目录下寻找index.js;找不到会到package.json中寻找main属性对应的文件,找不到会去引入index.js文件

require('04_2')会自动到当前目录下的node_module中寻找目录模块04_2,如果找不到会到上一级目录下寻找,直到顶级目录。常用于第三方模

3.3 npm和包

         包(package)是一个目录模块,里面包含多个文件,其中有一个文件命名为package.json,是包说明文件,含有包的信息

         npm:包管理工具,安装nodejs时附带安装,用于包管理,包括下载,上次,升级等 官网:www.npmjs.com

(1)切换目录:  cd 完整路径        如果进入其它盘符  e/d: 回车

                                     进入指定目录,按住shift键,在空白区域右键单击,选择  在此处打开powershell

(2)使用npm 下载安装第三方包

                   npm install 包名称

(3)生成package.json      

                   npm init -y   自动生成一个package.json文件,后期使用npm安装的包都会记录到这个文件中

                   npm install       自动安装package.json文件中的记录的包

3.4 全局函数

        parseInt/parseFloat/encodeURI/decodeURI/isNaN/isFinite/eval

(1)一次性定时器

开启 var timer=setTimeout( 回调函数,间隔时间 );

      间隔时间到了会执行回调函数,单位是毫秒

清除 clearTimeout(timer);  清除一次性定时器

var time3=setTimeout(function(){

         console.log(' 1  哎呀,糟了,TNT 炸了');

},3000)

//clearTimeout(time3);

(2)周期性定时器

开启  var timer=setInterval(回调函数,间隔时间);

      每隔一段时间,执行一次回调函数

清除  clearInterval(timer)  清除周期性定时器

var timer=setInterval(function(){

         console.log('嘟!——警告!警告!TNT 炸了!——');},1500);

//clearInterval(timer)

//练习:使用周期性定时器,每个3秒钟打印一次,打印3次以后清除定时器

var i=0;

var timer=setInterval(function(){

         console.log('TNT 第 '+i+' 次微笑');

    i++;

         if(i==3){

                   clearInterval(timer);

         }

},3000);

(3)立即执行定时器(主要是在服务器端使用)

开启  var timer=setImmediate(回调函数);

    //回调函数会放入到队列中

  //当主线程执行完,才会执行队列的内容

清除  clearImmediate(timer);

var timer=setImmediate(function(){

console.log('立即执行处决---->查询数据库!');

});   //clearImmediate(timer);

console.log('连接数据库');

process.nextick(回调函数);

//在主程序的末尾执行(执行在setImmediate前)

process.nextTick(function(){

         console.log('操作数据');

});

3.4 querystring模块——查询字符串

         querystring属于核心模块,nodejs官方提供的,可以直接引入,不需要创建

         查询字符串:浏览器向服务器发送请求,传递数据的一种方式

parse()

将查询字符串格式化为对象

stringify()

将对象转换称查询字符串

//练习:获取百度查询中查询字符串中的关键字 e=utf-8&tn=baidu&wd=电脑

const querystring=require('querystring');

var str='e=utf-8&tn=baidu&wd=电脑';

var obj=querystring.parse(str);

console.log(obj.wd);

//var str2=querystring.stringify(obj);

//console.log(str2);

3.5 URL模块

         parse()  将url 格式化为对象    http://www.codeboy.com:80/product/detail.html?lid=5&name=dell'

protocol

协议

http

hostname

服务器域名/IP地址

www.codeboy.com

port

端口号

80

pathname

文件在服务器上的路径

/product/detail.html

query

查询字符串

lid=5&name=dell

format(

将对象转成url

 

                   query 属性对应的是对象

// 获取浏览器传输的数据

var url=require('url');

var querystring=require('querystring');

var str='https://tmooc.cn:3000/web/1903.html?sid=10&course=javascript';

//字符串转为对象

var obj=url.parse(str);

console.log(obj);

var str2=obj.query;

//将查询字符串转换为对象

var obj2=querystring.parse(str2);

console.log(obj2.sid,obj2.course);

【2025国赛C题】高教社杯全国大学生数学建模竞赛C题思路+代码+论文 阅读详情

相关推荐

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 3720

(7)Node.js 全局函数

​ 一、Node.js 下的全局函数 1.1JavaScript 语言提供的全局函数,在 Node.js 下依然可用 • parseInt/parseFloat/isNaN/isFinite/eval.. • 一次性定时器(setTimeout / clearTimeout) • 周期性定时器(setInterval / clearInterval) 1.2 Node.js 环境也提供了一些全局函数 • 立即执行定时器(setImmediate / clearImmediate) 先运行主程序,当主

Java田根旺 907

Multisim14.3中FPGA接口电路设计:原理图项目应用

深入讲解在multisim14.3环境下构建FPGA接口电路的方法,结合原理图设计与项目实践,展现multisim14.3强大的电路仿真能力,提升数字系统开发效率。

weixin_42578963的博客 1157

NodeJS自定义全局包

NodeJ自定义全局包什么是全局包:全局包(工具包)特点:查看全局包安装地址(prefix):查看不同包的指令:全局包实现步骤: 什么是全局包: 一般全局包都是工具包,例如:nrm,yarn,cnpm 全局包(工具包)特点: 需要自定义指令 查看全局包安装地址(prefix): npm config ls 查看不同包的指令: nrm回车 yarn回车 全局包实现步骤: 打开文件夹:F:\学习...

Cao_Mary的博客 1366

STM32按键中断切换红绿蓝灯

通过以上步骤,我们实现了使用STM32的按键中断来切换红绿蓝LED灯的功能。在实际应用中,可能还需要考虑更多的细节,如按键消抖、更精确的延时实现等。但上述代码提供了一个基本的框架和思路,可以根据具体需求进行扩展和优化。希望这篇博客对您有所帮助!

2301_79865940的博客 952

05、基于ALV表报实现复选框、全选、取消全选等功能

基于Function ALV实现复选框、全选及取消全选等功能

wo520yl1314的博客 2372

【Node.js】全局变量和全局 API

在Nodejs里,是不可能在最外层定义一个变量,因为所有的用户代码都是当前模块的,只在当前模块里可用,但可以通过exports对象的使用将其传递给模块外部。所以,在Nodejs中,用var声明的变量并不属于全局的变量,只在当前模块生效。但是 global 全局对象则在全局作用域中,任何全局变量、函数、对象都是该对象的一个属性值。node 环境中没有 dom 和 bom ,此外 es 基本上都是可以正常使用的。

小秀的博客 1290

非华为设备实现多屏协同:最新电脑管家破解安装指南

本文提供了在非华为电脑上安装华为电脑管家并实现多屏协同功能的详细破解指南。通过绕过硬件检测机制,用户可在联想、戴尔等设备上体验与华为生态类似的无缝文件拖拽、跨屏操作等功能。文章涵盖了从系统准备、工具下载、破解安装到手机连接及故障排查的全流程,助您打破设备壁垒,提升办公效率。

weixin_29209805的博客 1136

nodejs function定义

函数声明、函数表达式、匿名函数区别 单独模块写法

ker的博客 7818

Transformer-LSTM预测 | 基于Transformer-LSTM的多变量单步时间序列预测(Matlab)

Transformer-LSTM预测 | 基于Transformer-LSTM的多变量单步时间序列预测(Matlab)

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 192

9、双玩家博弈中的精确与近似纳什均衡及中国股市再融资偏好研究

本文研究了双玩家博弈中精确与近似纳什均衡的计算方法,提出通过线性松弛问题LR在多项式时间内求解正则双矩阵博弈的纳什均衡,并分析其在α-平滑博弈中的近似性能。同时,探讨了中国股市2001-2009年期间再融资偏好的动态变化,重点考察非流通股改革对再融资方式选择的影响。研究表明,改革前配股为主导,改革后公开发行(含定向增发)因溢价发行和低参与门槛成为主流,显著提升了资金募集效率和市场参与度。结合博弈论模型与实证分析,揭示了制度变革对企业融资行为的深远影响。

nn3456的博客 82

Node.js(一)概述、全局对象/函数、node各模块使用介绍

Node.js:概述、全局对象、全局函数、三种模块以及引入方式

商务合作 | 共同学习 | 携手共进 1691

Spring AI提示词模板应用

本文介绍了使用SpringAI提示词模板的配置方法,主要步骤包括:1)在JDK17和SpringBoot3.4.4环境下引入spring-ai-alibaba1.0.0.2依赖;2)配置application.yml文件;3)创建测试控制器类处理提示词模板(.st文件);4)通过模板变量动态生成AI回复内容。演示了如何通过@RequestParam设置默认参数,实现无需前端传参即可测试AI回复功能,最终完成了一个SpringAI提示词模板的应用Demo。

wjianwei666的专栏 198

nodeJS - 7 - URL、querystring模块

URL 模块 与 querystring 模块说明 url 模块提供了一些实用函数,用于 url处理与解析,url 字符串是一个结构化的字符串,包含多个有意义的组成部分,被解析时,会返回一个 URL 对象,包含每个组成部分的属性 querystring 模块提供了一些实用的函数,用于解析与格式化 URL 查询字符串 参考 Node.js 文档 JavaScript 标准参考教程 Nod

mjzhang1993的博客 1032

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

NodeJS的querystring模块进阶

querystring模块进阶 querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。 使用以下方法引入: const querystring = require('querystring'); querystring.escape(str)编码 str 对给定的 str 进行 URL 编码。 该方法是提供给 querystring.stringify() 使用的,通常不直接使用。 它之所以对外开放,是为了在需要时可以通过给 querystring.escape 赋

qq_36801250的博客 599

NodeJs》》url地址参数 解析 URLSearchParams querystring

【代码】NodeJs》》url地址参数 解析 URLSearchParams querystring。

Kaizen的博客 9678

NodeJS之queryString

前面的话   无论是前端还是后端,经常出现的应用场景是URL中参数的处理。nodeJS的queryString模块提供了一些处理 query strings 的工具。本文将详细介绍nodeJS中的qu...

whiteGay的博客 1390

Nodejs笔记 Nodejs querystring模块常用方法

Nodejs querystring模块常用方法 > var querystring = require('querystring'); undefined > console.log(querystring); { unescapeBuffer: [Function: unescapeBuffer], unescape: [Function: qsUnescape], escape: [Function: qsEscape], stringify: [Function: st

林飞的梦呓 676

nodejs基础:浅聊url和querystring模块

简单的聊了一下url和querystring两个模块的一些常用方法。

u011863822的博客 891

node.js服务器的应用、CommonJs模块化、url模块、querystring模块、path模块、util模块

Node.js 应⽤是由哪⼏部分组成的: 1.引⼊ required 模块: 我们可以使⽤ require 指令来载⼊ Node.js 模块。 2.创建服务器: 服务器可以监听客户端的请求,类似于 Apache 、 Nginx 等 HTTP 服务器。 3. 接收请求与响应请求 服务器很容易创建,客户端可以使⽤浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。......

qq_51066068的博客 1101

NodeJS的模块系统

A、CommonJS是一套代码规范,目的是为了构建JavaScript在浏览器之外的生态系统(服务器端,桌面端)B、CommonJS的主要内容a、模块必须通过module.exports导出对外的变量或接口b、通过require()来导入其他模块的输出到当前模块作用域中(模块一般在文件的顶部导入)。...

Yannick_H的博客 1217

笔记nodejs模块:url.parse和querystring.parse

笔记nodejs模块:url.parse和querystring.parse 1.url.parse 将一个URL字符串转换成对象并返回。 var url = require('url'); var a = url.parse('http://localhost:8080/one?a=index&t=article'); console.log(a); //输出结果: { protocol : 'http' , auth : null , host : 'localhost:8080' , po

m0_49888984的博客 1317

【Nodejs 】Nodejs常见全局对象之模块对象全解析_02

本文主要内容是nodejs常见的模块全局对象的详细解析,内容长达2万字,本人熬夜整理,希望能帮助到想了解入门nodejs的小伙伴们!大家知道nodejs中的模块是一个独立的功能体。一个模块(主模块)引入其它的模块(子模块),一个模块被其它的模块所引入。在nodejs中一个js文件(包括目录)就是一个模块,一个模块本质是一个匿名函数。nodejs中的模块分为自定义模块(用户编写的模块)、核心模块(node提供的模块)、第三方模块。

青春木鱼的博客 2162

nodeJs常用的内置模块 url querystring http path events fs ctypto stream zlib

nodeJs中常用的一些内置模块有: url,用于处理与解析 URL; querystring,用于解析和格式化 URL 查询字符串; http,HTTP服务; path,路径,用于处理文件路径和目录路径; events,事件触发器,用于事件的派发与监听; fs,文件系统,用于文件的读写操作; ctypto,用于数据的加密和解密; 1.url URL操作 1.1 new URL() new U...

蒲公英芽的博客 1683

nodejs模块之HTTP,url及querystring

HTTP 事件绑定:on let http = require("http"); //创建服务 let server = http.createServer((req,res)=>{ res.writeHead(200,{"content-type":"text/html;charset=utf-8"}) res.write("<h1>hello 浏览器 666 ...

weixin_42582488的博客 405

nodeJs--querystring模块

options(可省)传入一个对象,该对象可设encodeURIComponent这个属性值的类型为function,可以将一个不安全的url字符串转换成百分比的形式,默认值为querystring.esca。separator(可省)指用于分割str这个字符串的字符或字符串,默认值为"&“;separator(可省)用于连接键值对的字符或字符串,默认值为"&“;eq(可省)指用于划分键和值的字符或字符串,默认值为”=";eq(可省)用于连接键和值的字符或字符串,默认值为”=";...

qq_56973906的博客 1152

Node.js - http模块 、 url模块 和 querystring模块

http模块 Node.js 可以做到不借助 Apache、Nginx 等来搭建 HTTP 服务器,Nodejs提供了http模块,自身就可以用来构建服务器。 文档地址:HTTP 搭服务器: 创建 app.js文件; 命令行运行:node app.js; 打开浏览器输入:http://127.0.0.1:8081/ // app.js var http = require('http'); var url = require('url'); http.createServer(function(requ

lzgy的博客 426
上一篇: Nodejs1_概述/全局对象/模块
下一篇: nodejs模块_2_fs
Mr_Chao1791
博客等级 码龄10年 50粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值