-
path模块
-
path.basename(path[, ext])
-
path路径
-
ext可选的文件扩展名
-
path.basename() 方法返回一个 path 的最后一部分
path.basename(‘/foo/bar/baz/asdf/quux.html’);
// 返回: ‘quux.html’
path.basename(‘/foo/bar/baz/asdf/quux.html’, ‘.html’);
// 返回: ‘quux’
- path.dirname(path)
- path.dirname() 方法返回一个 path 的目录名
path.dirname(‘/foo/bar/baz/asdf/quux’);
// 返回: ‘/foo/bar/baz/asdf’
如果 path 不是一个字符串,则抛出 TypeError。
注意:只能返回目录名,并不能返回目录的详细信息
path.extname(path)
path.extname() 方法返回 path 的扩展名
path.extname(‘index.html’);
// 返回: ‘.html’
path.extname(‘index.coffee.md’);
// 返回: ‘.md’
path.extname(‘index.’);
// 返回: ‘.’
path.extname(‘index’);
// 返回: ‘’
path.extname(‘.index’);
// 返回: ‘’
path.join([...paths])
path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。
path.join(‘/foo’, ‘bar’, ‘baz/asdf’, ‘quux’, ‘…’);
// 返回: ‘/foo/bar/baz/asdf’
path.join(‘foo’, {}, ‘bar’);
// 抛出 ‘TypeError: Path must be a string. Received {}’
- path.normalize(path)
path.normalize() 方法会规范化给定的 path,并解析 ‘…’ 和 ‘.’ 片段
path.parse(path)
path.parse() 方法返回一个对象,对象的属性表示 path 的元素。 尾部文件分隔符会被忽略
返回的对象有以下属性
dir
root
base
name
ext
path.parse(‘C:\path\dir\file.txt’);
// 返回:
// { root: ‘C:\’,
// dir: ‘C:\path\dir’,
// base: ‘file.txt’,
// ext: ‘.txt’,
// name: ‘file’ }
-
QueryString 参数处理
-
querystring.escape(str)
-
querystring.unescape(str)
-
querystring.parse(str[, sep[, eq[, options]]])
-
querystring.stringify(obj[, sep[, eq[, options]]])
queryString用于解析与格式化 URL 查询字符串
方法一:querystring.escape(str)
对给定的 str 进行 URL 编码。
方法二:querystring.unescape(str)
对给定的 str 进行 URL 解码。
方法三:querystring.stringify(obj[, sep[, eq[, options]]])
将对象转化成字符串
sep 第二个参数 用于界定查询字符串中的键值对的子字符串。默认为 ‘&’。
eq 第三个参数 用于界定查询字符串中的键与值的子字符串。默认为 ‘=’。
options
encodeURIComponent 把对象中的字符转换成查询字符串时使用的函数。默认为 querystring.escape()。该方法通过遍历给定的 obj 对象的自身属性,生成 URL 查询字符串。
// 假设存在 gbkEncodeURIComponent 函数。
querystring.stringify({ w: ‘中文’, foo: ‘bar’ }, null, null,
{ encodeURIComponent: gbkEncodeURIComponent });
方法四:querystring.parse(str[, sep[, eq[, options]]])
将query字符串装华为对象
sep 第二个参数 用于界定查询字符串中的键值对的子字符串。默认为 ‘&’。
eq 第三个参数 用于界定查询字符串中的键与值的子字符串。默认为 ‘=’。
options
decodeURIComponent 解码查询字符串的字符时使用的函数。默认为 querystring.unescape()。
maxKeys 指定要解析的键的最大数量。指定为 0 则不限制。默认为 1000。
- HTTP 模块概要
http.createServer([options][, requestListener])
fs模块对文件的几乎所有操作都有同步和异步两种形式
例如:readFile() 和 readFileSync()
区别:
同步调用会阻塞代码的执行,异步则不会
异步调用会将读取任务下达到任务队列,直到任务执行完成才会回调
异常处理方面,同步必须使用 try catch 方式,异步可以通过回调函数的第一个参数
var fs=require(‘fs’)
console.time(‘sync’);
try {
var data = fs.readFileSync(‘./c.txt’);
console.log(data);
} catch (error) {
throw error;
}
console.timeEnd(‘sync’);
console.time(‘async’);
fs.readFile(‘./c.txt’,(error, data) => {
if (error) throw error;
console.log(data);
});
console.timeEnd(‘async’);
- 普通静态资源服务器
var http=require(‘http’);
//文件模块 操作文件 读取文件,写入文件
var fs=require(‘fs’);
function read(str,res){
fs.readFile(str,function(err,data){
if(!err){
res.write(data);
res.end();
}
})
}
var server=http.createServer(function(req,res){ // /img/2.gif
//接受请求, 做出应有
console.log(req.url);//请求路径 端口后面的,参数前面的 / /favicon.ico
if(req.url==‘/’){
read(‘./index.html’,res);
}else if(req.url==‘/favicon.ico’){
read(‘./img/ico.png’,res);
}else{
read(‘.’+req.url,res); // read(‘.’+‘/img/2.gif’,res)
}
});
//三个参数, 参数一:端口号(取值范围:0-65535,0-1024系统保留端口,80端口可以省略)
//参数二:域名(ip)
//参数三:回调函数
server.listen(3001,‘127.0.0.1’,function(err){
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-byJVxjPs-1712480240282)]