菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育
标题:
陈紫怡-20221207-Node.js2
[打印本页]
作者:
Dasmondlicht
时间:
2022-12-12 00:23
标题:
陈紫怡-20221207-Node.js2
一、今日学习内容:
绝对路径
相对路径的缺陷
案例:在不同的目录下启动服务器,并通过浏览器访问
eg1:
D:\Users\Desktop\node\1-path
启动命令: node 1-server.js
启动服务器后能够正常通过浏览器访问
eg2:
D:\Users\Desktop\node
启动命令: node ./1-path/1-server.js
启动服务器后无法通过正常浏览器访问
原因:控制台使用当前绝对路径拼接readFile中的相对路径,多以读取文件失败
路径变量
__dirname:获取当前文件所处目录的绝对路径
__filename:获取当前文件的绝对路径
特点:
跨平台,自动处理路径分隔符 / 和 \
注意:
windows两种斜杠都认识,默认使用\
Linux系统只认识/,不认识 \
path模块(系统模块)
join方法
能够根据不同参数不同系统组装不同的文件地址
eg:
const path=require('path');
path.join('aaa' , 'bbb' , 'ccc' );
aaa\bbb\ccc
sep属性
/ 或 \,window系统是 \,Linux系统是 /
dirname()
获取文件路径(不包含文件名)
basename()
获取文件名(不包含目录路径)
extname()
获取文件后缀
读取文件优化
封装函数
核心:res对象上挂载一个新的方法(函数),该方法可以根据路径读取文件并将内容返回给浏览器
art-template模板引擎
介绍
模板引擎的本质是一种字符串的拼接技术
按照规则在模板页(网页)上挖坑,布置数据规则
再将数据和模板组合成一个字符串
基本使用
步骤:
1)安装/下载 模板引擎 (npm install art-template)
2)加载 art-template模块 (require)
const template = require ('art-template')
3)准备模板页(一般是html页面)和要显示在页面上的数据(js对象)
注意:属性不加双引号或者加双引号均可,但是切忌不要加单引号。此处不报错,但是其他的位置可能会出错
html页面(模板页)上使用特殊标记({{key}}),将要显示数据的位置标记出来,此处的key就是js对象的属性
4)调用模板引擎核心方法(template)组装模板和数据,得到一个字符串
let htmlStr=template('模板文件绝对路径' ,'要显示出来的数据----js/json对象')
返回值:数据和模板组装好的字符串
5)将组装好的字符串通过res.end方法返回给浏览器 res.end(HTMLStr)
循环结构----each
语法:
{{each data value index}}
输入内容
{{/each}}
data:要循环输出的数组
value:单元值
index:单元索引(一般不用)
选择结构----if. . .else
语法:
{{ if 判断表达式 }}
结果
{{ /if }}
表单提交
表单标签:form、input、select-option、textarea
表单提交有两种方式:get(默认)和post(常用)
post提交
1)post标点提交的必要条件
必须有form标签
action:表单数据提交的位置,必须是一种后端技术来接收
method:表单提交的方式,post(常用)、get(默认)
每个表单域都要有name属性和值
必须要有submit按钮来提交表单数据
2)后端接收----post方式
data事件:
用来接收表单数据,表单数据会被切割成一块一块,data事件会循环来接收
end事件
当表单数据接收完成后会自动触发,此时可以操作比哦啊单提交的数据
get和post的区别
通过URL地址栏来区分post和get
1)提交方式
get会将数据显式的拼接到URL地址栏中(字符串)
/form?id=10001&username=heiheihei&passwd=123456&key=value....
key=value方式传参,多个参数之间使用&符号隔开
post不会显示出来
2)传递数据量大小
post最小值2M,理论上没有上限
get会受到浏览器地址栏的限制。有的是2k(IE6),有的是8k(Chrome)
3)应用范围不一样
post在绝大多数情况下都使用表单提交
get的应用范围比较广,只要能进行页面跳转,就能传递数据。
在a标签的href中,location.href中等都能使用get方式。
欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/)
Powered by Discuz! X3.4