日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nodejs系列

發(fā)布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nodejs系列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Nodejs介紹

  • Node.js是一個Javascript運行環(huán)境(runtime)。它讓JavaScript可以開發(fā)后端程序,它幾乎能實現(xiàn)其他后端語言能實現(xiàn)的所有功能。單線程
  • Node是基于Google V8引擎,V8引擎是Google發(fā)布的一款開源的JavaScript引擎。
  • Nodejs最擅長高并發(fā)

進程和線程

進程

  • 進程負責為程序的運行提供必備的環(huán)境、
  • 進程就相當于工廠的車間

線程

  • 線程計算機中的最小的計算單位,線程負責執(zhí)行進程中的程序
  • 線程就相當于工廠中的工人

NPM介紹

npm是世界上最大的開放源代碼的生態(tài)系統(tǒng),npm是隨同NodeJS一起安裝的包管理工具

npm命令

  • npm init --yes 生成package.json文件
  • npm install md5 --save(cnpm加上save可以讓配置dependencies中添加md5的配置信息,npm則可以省略,會默認加上)
  • npm install 包 -save-dev 添加到devDependencies配置中
  • npm uninstall md5 卸載模塊
  • npm i 根據(jù)package.json文件配置生成node_modules
  • npm list 查看當前目錄下已安裝的node包
  • npm info 模塊 查看模塊的版本
  • npm install 模塊@1.8.0 指定版本安裝

模塊化 CommonJs

CommonJs就是模塊化的標準,node就是CommonJs(模塊化)的實現(xiàn)

  • 通過exports或者module.exports暴露屬性或者方法
  • 通過require的方式引入模塊

方式一:exports導出

語法:
exports導出
exports.xxxx=xxxx
cosnt a = require('地址')
打印a {xxxx:{}}

方式二:module.exports (只有一個對象推薦使用)

module.exports=obj
cosnt a = require('地址')
打印a {}

通過require引入的時候會發(fā)生兩種情況

  • 在被引入的文件node_modules文件夾下,引入是地址可以省略node_modules
    例: node_modules
    axios
    index.js
    db
    db.js
    這樣的目錄結(jié)構(gòu)
  • require('./axios') 當文件是index可以省略
  • require('db.db')
    這種情況可以直接在db文件夾下npm init --yes 生成一個package.json文件
    之后就可以這樣引入require('db')
    執(zhí)行機制是package.json文件中的main

三個核心模塊

http src Fs

http的使用

//request 獲取url穿過來的信息 //response 給瀏覽器的響應(yīng)信息 const http = require('http'); http.createserver((request,response)=>{const method = req.method; //獲取請求方式 "GET"/"POST"...const url = req.url;//獲取請求的地址const path = req.url.split('?')[0];const query = qs.parse(req.url.split('?')[1]);response.writeHead(200,{'Content-Type':'text/html;charset="utf-8"'})response.write(<head><meta charset="utf-8"/></head>)response.end() }).listen(3001)

src

待補充……

Fs

引入:const fs = require(‘fs’);

方法

  • fs.stat 檢測時文件還是目錄
  • fs.mkdir 創(chuàng)建目錄
  • fs.writeFile 創(chuàng)建寫入文件
  • fs.appendFile 追加文件
  • fs.readFile 讀取文件
  • fs.rename 重命名 移動文件
  • fs.rmdir 刪除目錄
  • fs.unlink 刪除文件

自定義模塊

  • 第三方的模塊,由包組成,可以通過包來對一組具有相互依賴關(guān)系的模塊進行統(tǒng)一管理

包目錄

  • package.json:包描述文件
  • bin:用于存放可執(zhí)行二進制文件的目錄
  • lib:用于存放JavaScript代碼的目錄
  • doc:用于存放文檔的目錄

安裝supervisor

  • 作用,不用每次寫入新的內(nèi)容之后關(guān)閉服務(wù),再打開服務(wù)
  • 安裝 cnpm install -g supervisor

querystring獲取get參數(shù)

  • 引入 const querystring = require('querystring')
  • 使用 querystring.parse(url.split(’?’)[1])

安裝cnpm

$ npm install cnpm -g --registry=https://registry.npm.taobao.org

package.json的配置

標識符

  • ^表示第一位版本號不變,后面兩位取最新的
  • ~表示前兩位不變,最后一個取最新
  • *表示全部取最新
  • 指定版本安裝,直接去掉符號即可

后端渲染的好處

利于seo優(yōu)化

nodejs和前端的javascript的區(qū)別

server開發(fā)和前端開發(fā)的區(qū)別,重點在于切換思路

http請求概述

  • DNS解析,簡歷TCP鏈接,發(fā)送http請求
  • server接收到http請求,處理,并返回
  • 客戶端接收到返回數(shù)據(jù),處理數(shù)據(jù)(如渲染頁面,執(zhí)行js)

lodash的使用(暫時放在這)

  • npm i lodash
  • const _ = require(‘lodash’);
  • const arr = _.concat([1,2,4,[5,6]])

總結(jié)

以上是生活随笔為你收集整理的nodejs系列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。