nodejs 中有哪些常用的内置模块

1、nodejs 中有哪些常用的内置模块

  path模块
  nodejs中的path模块用于处理文件和目录的路径
  url模块
  在nodejs中url模块是用来解析url地址的
  fs模块
  文件操作系统的API
  http模块
  创建服务器的

2、常用的第三方模块

  1、nodemon :命令行工具,用以辅助项目开发,可以实时js文件是否改动,如果有改动,自动重新编译运行 (npm install nodemon)
  2、nrm : 下载地址切换工具
  使用步骤:npm install nrm -g

  nrm ls

  nrm use 下载地址名称
  3.Gulp : 基于node开发的前端构建工具

  使用步骤:npm install gulp

  在项目根目录下建立gulpfile.js文件

  重构项目的文件夹结构,src目录存放源代码文件,dist目录放置构建后文件

  在gulpfile.js文件中编写任务

  gulp中提供的一些方法:gulp.src()获取任务要处理的文件 ,gulp.dest()输出文件 ,gulp.task()建立gulp任务,gulp.watch()监控文件的变化

  安装gulp命令行工具:npm install gulp-cli -g

  gulp的一些常用插件:gulp-htmlmin(html文件压缩),gulp-file-include(公共文件包含),gulp-csso(压缩css),gulp-less(less语法转换),gulp-babel(JavaScript语法转换),gulp-uglify(压缩混淆JavaScript)

3、如何创建一个服务器

 1 // 加载模块 
 2 const http = require('http') ;
 3 // 加载url模块
 4 const url = require('url') ;
 5 
 6 // 创建服务器 
 7 const app = http.createServer() ;
 8 
 9 // 监听请求 
10 app.on('request',(req,res)=>{
11     res.writeHead(200,{'content-type':'text/html;charset=utf8'})
12     // res.setHeader('Content-Type','text/plain;charset=utf8') ;
13     // res.end("你好nodejs")
14 
15     // 区分get和post请求
16     // if(req.method =='POST'){
17     //     res.end('post') ;
18     // }else if(req.method == 'GET'){
19     //     res.end('get') ;
20     // }
21 
22     // 根据不同的请求返回不同的响应
23     // req.url 
24     // console.log(req.url) ;
25 
26     /* console.log(req.url) ;
27     // url.parse(要解析的url地址,是否将查询到的参数解析为对象形式)
28     console.log(url.parse(req.url,true)) ;
29     let params = url.parse(req.url,true).query
30     console.log(params.name) */
31 
32     // 解构赋值
33     let {query,pathname} = url.parse(req.url,true) ;
34     if(pathname ==='/index' || pathname ==='/'){
35         res.end("你好欢迎进入首页") ;
36     }else if(pathname ==='/category'){
37         // res.end('你好'+query.name+'欢迎加入')
38         res.end(`你好${query.name},${query.age}欢迎加入`)
39 
40     }
41 })
42 
43 // 监听端口
44 app.listen(3000,()=>{
45     console.log("3000端口监听中...") ;
46 })

4、http 搭建的服务相应给客户端的数据如果是中文,应该如何处理

  //响应报文

  res.writeHead(200,{'content-type':'text/html;charset=utf8'})

5、第三方 router 模块和 serve-static 如何使用,作用是什么?

  router

    作用:实现路由功能

1 const getRouter = require('router')
2   const router = getRouter();
3   router.get('/index', (req, res) => {
4     res.end('Hello World!')
5   })
6   server.on('request', (req, res) => {
7     router(req, res, () => {})
8 })

  sever-static

  作用:其主要功能是实现静态资源的访问

  引入serve-static模块获取创建静态资源服务功能的方法
  调用方法创建静态资源服务并指定静态资源服务目录
  启用静态资源服务功能
  使用代码如下:

1 const serveStatic = require('serve-static')
2   const serve = serveStatic('public'); // public为静态文件目录地址
3   server.on('request', () => {
4     serve(req, res)
5 })

 

posted @ 2021-03-07 21:30  gaobz  阅读(725)  评论(0)    收藏  举报