Node.js——path路径,http,npm与包,模块化

简介: Node.js知识点一、fs(文件系统)二、path(路径)三、http(服务器)四、npm与包五、模块化一、fs(文件系统)(1) 读取指定文件内容fs.readFile(path[,option],callback参数1:字符串,表示文件的路径参数2,表示以什么编码格式读取文件参数3:读取完成后,通过会点函数读取结果(2) 向指定的文件中写入内容fs.writeFile(file,data[,options],callback)参数1:指文件路径的字符串,表示文件的存放路径参数2:表示要写入的内容参数3:表示写入内容的格式,默认值是utf8

一、fs(文件系统)

(1) 读取指定文件内容

fs.readFile(path[,option],callback
  • 参数1:字符串,表示文件的路径
  • 参数2,表示以什么编码格式读取文件
  • 参数3:读取完成后,通过会点函数读取结果

(2) 向指定的文件中写入内容

fs.writeFile(file,data[,options],callback)
  • 参数1:指文件路径的字符串,表示文件的存放路径
  • 参数2:表示要写入的内容
  • 参数3:表示写入内容的格式,默认值是utf8

<hr/>

二、path(路径)

(1)path.join()

用来将多个路径片段拼接成一个完整的路径的字符串

(2)path.basename()

可以从一个文件路径中获取文件的名称

(3)path.extname()

可以获取文件的扩展名

const fpath='a/b/c/index.html' //文件的路径

const fext=path.extname(fpath)
console.log(fext)  //输出.html
注意:若出现路径拼接问题,可以直接提供一个完整的文件存放路径

<hr/>

三、http(服务器)

(1) 创建基本的web服务器

  • 启动服务器
  • req请求对象
  • res响应对象

(2)根据不同的url响应不同的html内容

在这里插入图片描述

const server = http.createServer()         // 创建web服务器
// 监听服务器的request事件
server.on('request', (req, res) => {
    const url = req.url             // 获取客户端的地址
    // 把请求的地址映射为具体文件的存放路径和
    // const fpath = path.join(__dirname, url)
    let fpath=''
    if(url === '/') {  fpath=path.join(__dirname,'')
    } else {  fpath=path.join(__dirname,'',url)
    }
    // 读取文件 显示为客户端
    fs.readFile(fpath, 'utf8', (err, dataStr) => {
         if(err) return res.end('404 Not Found.')   // 失败 
        res.end(dateStr)
    })
})
server.listen(80, () => {
    console.log('server ruuning at http://127.0.0.1');
})           // 启动服务器
解决中文乱码问题

res.setHeader('Content-Type','文件路径',charset='utf-8')

四、npm与包

安装包的命令为 npm i moment
卸载包的命令 npm uninstall moment

(1)包的使用

  • 包必须以单独的目录存在
  • 包的顶级目录下必须包含package.json这个包配置文件
  • package.json中必须包含name(包的名字),version(版本号),main(包的入口)

(2)开发包

需要实现的功能

  • 格式化日期
  • 转义HTML中的特殊字符
  • 将HTML中的符号转为字符
  • 还原HTML中的特殊字符

在这里插入图片描述

(3)把包发布到npm上

将终端切换到包的根目录下 命令为:cd 包名为根目录

运行npm publish命令

<hr/>

五、模块化

模块在第一次加载后就被缓存

(1)内置模块(加载优先级最高)

如果导入时省略了文件的扩展名,则会自动补全

(2)第三方模块的加载机制

如果传递给require()的模块标识符不是内置模块,也没有‘./ ’或 '../ '开头,则nodejs会从当前模块的父目录开始从/node_modules文件夹中加载第三方模块

(3)目录作为模块
在这里插入图片描述

<hr/>

目录
相关文章
|
11天前
|
前端开发 JavaScript
node反向代理,解决跨域(http-proxy-middleware)
使用node.js和http-proxy-middleware库实现反向代理,解决跨域问题,允许前端请求通过代理访问不同端口的服务。
18 3
|
11天前
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
14 0
Vue3基础(19)___vite.config.js中配置路径别名
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor
该博客文章提供了解决在使用npm版本7.19.1时出现的"no such file or directory"错误的具体方法,建议通过降级npm到6.14.8版本来解决问题,并确认了该方法可以成功安装node_modules。
2071 verbose node v16.6.0 2072 verbose npm v7.19.1或者 no such file or directory, lstat ‘D:\wor
|
2月前
|
缓存 JavaScript 前端开发
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
这篇文章介绍了如何解决npm版本与Node.js版本不兼容的问题,提供了查看当前npm和Node.js版本的步骤,以及如何根据Node.js版本选择合适的npm版本并进行升级的详细指导。
成功解决:npm 版本不支持node.js。【 npm v9.1.2 does not support Node.js v16.6.0.】
|
2月前
|
JavaScript
【Deepin 20系统】Jupyter notebook解决ValueError: Please install Node.js and npm before continuing installa
文章讨论了在Deepin 20系统上安装Jupyter Notebook的debug插件时出现的"ValueError: Please install Node.js and npm before continuing installation"错误,并提供了使用conda安装Node.js的解决方法。
83 1
|
2月前
Mac卸载 Node npm,升级 Node
Mac卸载 Node npm,升级 Node
53 0
|
2月前
NPM——Electron failed to install correctly, please delete node_modules/electron and try
NPM——Electron failed to install correctly, please delete node_modules/electron and try
134 0
|
2月前
|
开发工具 git
IDEA——npm install 没有生成node_modules目录
IDEA——npm install 没有生成node_modules目录
136 0
|
2月前
|
缓存
Node——npm ERR! cb() never called!
Node——npm ERR! cb() never called!
45 0
若依修改,改若依首页,若依修改了路由不出现如何解决,修改路由必须在permission.js中的白名单添加新的路由,修改了路由,不出现,解决方法是在白名单中添加对应的路径:
若依修改,改若依首页,若依修改了路由不出现如何解决,修改路由必须在permission.js中的白名单添加新的路由,修改了路由,不出现,解决方法是在白名单中添加对应的路径:

推荐镜像

更多
下一篇
无影云桌面