乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      21

       Coder編程 2022-11-06 發(fā)布于北京

      1-nodejs 中有哪些常用的內(nèi)置模塊

      Node.js中有三類模塊:

      內(nèi)置的Node.js模塊
      第三方的Node.js模塊
      自定義的Node.js模塊
      下面記一記本人常用的nodejs內(nèi)置模塊:
      http

      http.createServer //注意:https服務需要證書
      http.get(str,(res)=>{
      let data =''
      res.on('data',(chunk)=>{
      data += chunk
      })//獲取數(shù)據(jù)
      res.on('end',()=>{
      ...
      })//數(shù)據(jù)獲取結束進行操作
      })

      url
      該模塊用于處理瀏覽器返回的url字符串,常用方法如下:

      url.parse(str,true,true)
      //返回一個地址的解析對象,str是地址,
      //第二個參數(shù)是query是否解析為對象,
      //第三個參數(shù)是如果沒有域名,對象中port,host等參數(shù)是否可以正常解析
      url.format(urlObj)
      //對url進行格式化,可以把parse產(chǎn)生的對象轉化為url格式
      url.resolve('str1','str2')
      //對兩個路徑進行解析

      querystring
      常用方法如下:

      querystring.parse(query)
      //將字符串query解析為對象
      querystring.stringfy(queryObj)
      //將對象類型的query轉化為字符串
      querystring.escape(query) //編碼
      querystring.unescape(str) //解碼

      fs
      用于進行文件操作,主要方法如下:

      //創(chuàng)建文件夾
      fs.mkdir( '文件夾地址',ErrFn )

      //創(chuàng)建文件
      fs.writeFile(
      '文件地址',
      '寫入內(nèi)容',
      //錯誤優(yōu)先的回調函數(shù)
      (err)=>{
      if(err){
      console.log(err.message)
      }else{
      console.log('文件創(chuàng)建成功')
      }
      }
      )

      //給文件追加內(nèi)容
      fs.appendFile( '文件地址', '寫入內(nèi)容', ErrFn)

      //讀取文件,異步操作
      fs.readFile(
      '文件地址',
      'utf-8',//如果不添加該參數(shù),data必須使用toString方法轉化為字符串形式,否則輸出格式為Buffer
      (err,data)=>{
      if(err){
      console.log(err.message)
      }else{
      console.log(data)
      }
      }
      )

      //同步讀取文件,需要通過try-catch捕獲錯誤
      fs.readFileSync( '文件地址', 'utf-8' )

      //刪除文件
      fs.unlink( '文件地址', ErrFn)

      //文件或者文件夾改名
      fs.rename( '原文件夾名稱', '新名稱',ErrFn )

      //刪除文件夾
      fs.rmdir( '文件夾地址', ErrFn)

      //讀取當前以及內(nèi)部文件及文件夾信息
      fs.readdir(
      './',
      (err,data)=>{
      data.forEach((value,index)=>{
      fs.stat(`./${value}`,(err,stats)=>{
      value//文件名稱
      stats.size//文件大小
      stats.isDirectory()//文件是文件還是文件夾
      })
      })
      }
      )

      //fs的promiseAPI,可以把方法作為promise看待,后面可跟then方法
      const fsP = require('fs').promises

      //監(jiān)測文件變化,重命名和修改文件內(nèi)容都可以監(jiān)測到
      fs.watch()

      Stream

      //讀取文件流
      fs.creatReadStream('file地址')

      //創(chuàng)建一個寫入流
      fs.createWriteStream('file地址')

      events

      //使用事件:eventEmitter
      class MyEventEmitter extends EventEmitter{}
      const event = new MyEventEmitter()
      event.on('fnName',()=>{})//定義一個事件
      event.once('fnName',()=>{})//定義的事件只能被調用一次
      event.emit('fnName','參數(shù)')//調用事件

      2-常用的第三方模塊

       1.nodemon :命令行工具,用以輔助項目開發(fā),可以實時js文件是否改動,如果有改動,自動重新編譯運行 (npm install nodemon)

          2.nrm : 下載地址切換工具

                   使用步驟:npm install nrm -g

                                     nrm ls

                                     nrm use 下載地址名稱

         3.Gulp : 基于node開發(fā)的前端構建工具

                   使用步驟:npm install gulp

                                     在項目根目錄下建立gulpfile.js文件

                                     重構項目的文件夾結構,src目錄存放源代碼文件,dist目錄放置構建后文件

                                     在gulpfile.js文件中編寫任務

      gulp中提供的一些方法:gulp.src()獲取任務要處理的文件  ,gulp.dest()輸出文件  ,gulp.task()建立gulp任務,gulp.watch()監(jiān)控文件的變化

      安裝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-如何創(chuàng)建一個服務器

       

      4-http 搭建的服務相應給客戶端的數(shù)據(jù)如果是中文,應該如何處理

       

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

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

      1.router
      其功能是實現(xiàn)路由
      使用方法:

      獲取路由對象
      調用路由對象創(chuàng)建路由
      啟動路由
      使用代碼:

      const getRouter = require('router')
      const router = getRouter();
      router.get('/index', (req, res) => {
      res.end('Hello World!')
      })
      server.on('request', (req, res) => {
      router(req, res, () => {})
      })
      2.sever-static
      其主要功能是實現(xiàn)靜態(tài)資源的訪問
      使用方法:

      引入serve-static模塊獲取創(chuàng)建靜態(tài)資源服務功能的方法
      調用方法創(chuàng)建靜態(tài)資源服務并指定靜態(tài)資源服務目錄
      啟用靜態(tài)資源服務功能
      使用代碼如下:

      const serveStatic = require('serve-static')
      const serve = serveStatic('public'); // public為靜態(tài)文件目錄地址
      server.on('request', () => {
      serve(req, res)
      })

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多