node.js简述 node.js的作用
qiyuwang 2024-10-31 15:52 17 浏览 0 评论
1. 什么是nodejs
他是一个后台管理程序,就类似于 PHP 、 Java 等的后端语言,但是他是轻量的。
说白了 Nodejs 就是运行在服务端的 JavaScript
nodejs是一个时间驱动 I/O 服务端 javascript 环境,基于 Google 的 V8 引擎,V8 引执行JavaScript 的速度快,性能好
2. 它提供的服务
数据服务
文件服务
web服务
3. 他的优势、劣势
优势:
性能高,方便
入门难度低
大公司都在用(BAT)
劣势:
服务器提供的相对较少
相对其他语言,能用的上的学习资料少
对程序员要求高
安装nodemon方法
需要先去官网下载安装包:Nodejs官方网站
选择适合自己的系统位数进行下载
1.全局安装
npm install nodemon -g
2.检查是否安装成功
查看安装的版本
nodemon -v
注意事项:
nodemon 命令只在运行服务的代码去使用,就是写完代码一保存,在浏览器实时刷新的那种
有的时候 cmd 窗口会卡顿,写完代码保存后没有新命令提示,只需要在小黑框内多敲几次回车就好了
在终端里输入 nodemon + 文件名称
或者 node + 文件名称
(列:nodemon node.html)
nodejs 操作
使用 nodejs 中 http 模块来搭建一个 web 服务流程
引入 http 模块(内置模块)
const http = require(“http”)
调用 http crateServer 方法来创建服务
//createServer : 接收的函数,是一个回调函数,当服务器启动后,浏览器访问时代码就会进入到这个函数中
//req :就是 request 的缩写,代表对象,所以他的含义就是 请求对象
//res :就是 response 的缩写,也是代表对象,但是他的含义是 响应对象
const server = http.createServer(function(req,res){
//要设置响应头,否则会出现中文乱码问题
res.writeHead(200,{
"content-Type":"text/html; ccahrset=utf-8"
})
//hello 就是响应出来的内容
//这里面可以直接输入 HTML格式 内容
res.write("hello");
//注:请求需要结束的,要不结束响应,浏览器会一直转圈圈的
res.end();
//监听电脑的某个端口 nodemon
server.listen(3000, function(){
console.log("服务器启动,端口是 3000")
})
})
//注意:定义端口号要从 3000 开始往上
好了,上面就是一套简易的nodejs操作流程了
fs模块:处理文件相关操作,读文件、写文件
fs.readFileSync('要被读取的内容')
列:
通过 fs.readFileSync()去读取另一个文件的内容(另一个文件名列为 :day01 / index.html)
cosnt fileData = fs.readFileSync(./day01 / index.html)
再把读取出来的内容作为 res.write()的参数
代码格式为:res.write(fileData)
//引入 fs 模块
const fs require("fs")
const server = http.createSercer((req,res) => {
//去读取 day01 文件夹下的 index.html 文件
cosnt fileData = fs.readFileSync(./day01/index.html)
//最后输出那个文件里面的内容
consol.log(fileData.toString);
//注:因为在终端输入出的是二进制模式,所以通过 .toString 这个方法给他转成字符串(仅演示)
//注意:千万不要忘了终止,博主当初没少在这大意,然后就看着它一直转圈圈,跟死循环一样了
})
注:不管是任何的网络请求 HTML 、css 都会到这个回调函数内部
判断当前请求的 url
// 这个啥双引号内的 / 代表http://locahost/3000,没有路径时用 req.url 就是 /
if(req.url === "/"){
const fileDate = fs.readFileSync("vacode/day01.js");
req.write(fileDate);
//终止
res.end()
//如果不能继续往下判断直接return返回
return
}
各种文件的响应头
HTML文件:‘Content-Type’: ‘text/html; cahrset= +utf-8’
CSS文件:‘Content-Type’: ‘text/css’
JS文件:‘Content-Type’: ‘text/javascript’
img 的 jpg 文件:‘Content-Type’: ‘imge/jpeg’
请求方式
get 请求
post 请求
put 请求
delete 请求
patch 请求
copy 请求
head 请求
options 请求
link 请求
UNlink 请求
purge 请求
lock 请求
unlock 请求
propfind 请求
view 请求
虽然列出了这么多,但是常用的就是 get、post、 put 、delete请求
get 请求
get请求的参数是携带在请求地址上的
在浏览器地址栏中访问的都是get请求
post请求
post请求都是借助请求模拟工具
这里推荐postman(postman官方下载地址)
里面有各种各样的请求,大家都可以试试
模块化
模块就是一个实现特定功能的文件
优点:
避免变量污染
提供代码复用性
提高代码的可维护性
依赖关系清晰
规范:
nodejs - commonjs规范
requirejs - AMD规范
seajs - CMD规范
每一个 nodejs 文件都有一个 module 变量,代表着这个模块
console.log(module)
module.exports这个属性默认是一个对象,我们引入某个模块文件,其实就是引入的这个文件的 module.exports 对象
给它添加一些属性
列:module.exports,name = “张三”
引入一个模块,列:文件名为 day01.js,引入的其实就是它的 module.exports
const M01 = require("./day01.js")
exports
每一个模块文件 ,其实还有一个 exports 变量,他默认指向 module.exports
可以理解为,每个文件的开头,其实有如下一行代码
var exports = module.exports
要暴露接口给调用者使用,可以直接在 exports 身上添加属性
如果要当前模块的某些内容给到调用者去使用,就需要暴露
module.exports = {
a:a,
b:b,
c:c
}
exports.a=a
exports.b=b
exports.c=c
** 如果直接对 exports 赋值,那么就不需要暴露了
原因是切掉了 exports 与 module.exports 之间的联系**
exports = {
a: a,
b: b
}
console.log("wo shi 05")
路径
绝对路径:
require(“c:/第一层文件夹 / 第二层文件夹 / 文件”)
相对路径:
require("./文件")
引入 nodejs 核心模块或通过 npm 在当前项目中安装的目录
console.log(require(“jquery/bower.json”))
没有写后缀时,会自动按照 .js 、.json 、 .node 的后缀顺序去查找模块
var a = requier("./common/a")
注:require 路径是有一个文件夹时,默认会找这个文件夹下的 package.json 文件中的 main 属性定义的值。加载的模块就是 main 属性定义的文件。如果这个文件夹下没有 package.json 文件,那么会需要 index.js、index.json、index.node
欢迎诸位检查批评!!!
相关推荐
- 你真的会用Word画线吗?(word画线技巧)
-
【你真的会用Word画线吗?】①输入三个“=”回车,是一条双直线;②输入三个“”,回车,就是一条波浪线;③输入三个“”回车,就是一条虚线;④输入三个“-”,回车,就是一条细直线.....新技能get√...
- 「干货」Word技巧知识——进阶篇(2)
-
Hello,大家好,我是无拘无束的分享知识,每天跟大家分享点有用的知识,话不多说。感兴趣的朋友可以点赞、关注、收藏哦。1.将word文档中的硬回车全部消除从事来稿阅读、编辑的工作者,最头痛的事就是打...
- 办公室人员必备! Word快捷键大全(办公中常用的快捷键)
-
【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线。(来源...
- Word笔记大全(详细步骤)(word怎么写笔记)
-
字处理一、文档的基本操作1.打开/新建2.快速新建ctrl+n3.利用模板创建文件--新建--选择模板officeplus4.保存5.保护文件--信息--保护文档--限制编辑--对话框:勾选每一项...
- 如何删除word文档空白页?(怎么删除word里的空白页?)
-
在日常办公或学习中,我们经常会遇到Word文档中出现空白页的情况,这不仅影响文档的美观,还可能造成打印浪费。下面,我将为大家详细介绍如何在Office和WPS中的Word里轻松删除这些恼人的空白页。...
- Win11学院:如何在Windows 11装机时禁用BitLocker磁盘加密
-
IT之家5月7日消息,微软计划在Windows1124H2装机过程默认启用BitLocker加密,对于用户来说有两方面的影响:其一是影响硬盘的性能,其二是用户如果没有解密密钥,可能...
- 办公小技巧:Word“安全模式”用通透
-
大家都知道Windows的安全模式。其实,Word也有安全模式。那么,Word的安全模式又是什么?何时使用这种模式?使用这种模式有何限制?当Word运行中遇到问题需要启用安全模式运行时,如何按照软件给...
- 段落结束敲回车,下一段格式变样了怎么处理#每天学习一点点
-
段落换行后的格式发生变化。段落结束敲回车键,下一段格式变样了怎么处理?大家有时候遇到文章敲回车键,在下一段打字之后会发现这一段的样子就会和之前的段落不一样,当然可以调整一下或者用格式刷刷一下,但是稍微...
- 硬回车、软回车等介绍(硬回车键和软回车键)
-
1.硬回车:硬回车占两个字节,在word中敲击Enter键即可输入硬回车,硬回车是真正的段落标记,在两个硬回车之间的文字自成一个段落。代码是^p(小写)。2.软回车:用Shift+Enter产...
- Word里超简单的画线方法!(word中如何画线条)
-
小厅分享【Word里超简单的画线方法!】简历、总结里文字太多怎么办?用线条分隔!Word画线秘籍:①输三个"="回车,是一条双直线②输三个"~"回车,是一条波浪线③输三个"-"回车,就是一条细直线...
- Word 如何更改图片、删除与删除背景,勾选图片等问题
-
如果插入到Word文档中的图片想另外换一张,更换方法有两种,一种是把原图删除另外插入一张,另一种是直接更换图片。Word2016提供了更改图片的功能,用此功能更换图片会自动把原图删除,就像...
- Word中批量删除空行(多种方案)(批量删除word中的空行)
-
如下图,在Word文档中存在大量空行(回车),为了文档整洁,需要批量取消这些回车;方法一Ctrl+h,在查找内容中输入”^p^p”,在替换为输入”^p”,单击全部替换即可(^符号在英文输入法下按Shi...
- Word文档如何取消自动编号?(word文档如何取消自动编号功能)
-
在word文档中,当我们编辑有序号的文本内容时,word会自动识别给文本编号,如果直接删除序号再按回车键,序号又会自动填充。但有时候我们并不需要它自动编号或不喜欢它的编号格式,如何才能取消word自动...
- 最全的Word知识点,抓紧时间收藏起来
-
Word知识点1.1word工作界面Word2010的窗口组成∶窗口分标题栏、菜单栏、常用工具栏、格式工具栏、标尺、编辑区滚动条、状态栏、任务窗格。1.标题栏∶显示所编辑的文档名和程序名称。单击标题...
- Word中的页眉横线就是删不掉?其实按下这个键,1秒就能去除
-
不知道大家在用Word的同时,有没有遇到过难删除的页眉横线呢?以前小编就是遇到这条横线,不得已将里面的文字复制到一个新的文档中,如今终于知道该怎样删除这条横线了,下面我们就来看看删除方法。一、删除页眉...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)