① nodejs和vue的關系是什麼
nodejs一個是前端框架,vuejs一個是服務端語言。nodejs是js運行時,運行環境,類比java中jvm。nodejs的作用和jvm的一樣一樣的,也是js的運行環境,不管是你是什麼操作系統,只要安裝對應版本的nodejs,那你就可以用js來開發後台程序。
Vue.js使用了基於HTML的模版語法,允許開發者聲明式地將DOM綁定至底層Vue實例的數據
Vue.js的核心是一個允許你採用簡潔的模板語法來聲明式的將數據渲染進DOM的系統。
功能模塊
Node使用Mole模塊去劃分不同的功能,以簡化應用的開發。Moles模塊有點像C++語言中的類庫。每一個Node的類庫都包含了十分豐富的各類函數,比如http模塊就包含了和http功能相關的很多函數,可以幫助開發者很容易地對比如http,tcp/udp等進行操作,還可以很容易的創建http和tcp/udp的伺服器。
以上內容參考:網路-nodejs
② 如何系統地學習Node.js
1.《nodejs入門》,才38頁,很好,書中項目做一下,學會基礎
2.《nodejs開發指南》。180多頁,很好,書中項目做一下,知道基礎,及基本的配合express,jquery,bootstrap,資料庫MongoDB
另附一些node實現書中例子的一些變化使用Express3.0實現<Node.js開發指南
3.開始看express創建初始項目的源代碼對比2中的書,發現express更新後新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub
看express官網api
英文:Express 4.x - API Reference
中文:Express - api參考
4.之後發現,一個系列課程,從零開始nodejs系列文章:從零開始nodejs系列文章
其中 文章: Node.js開發框架Express4.x:Node.js開發框架Express4.x ,詳細介紹了express4項目的基本內容,很好
文章:用Nodejs連接MySQL:用Nodejs連接MySQL,介紹mysql與node基本,及資料庫連接池,宕機,連接超時等node問題解決辦法,node-mysql官網也有相應英文解決辦法
5.node+json:node.js裡面怎麼創建和解析JSON格式的文件?
更全的是這一個How to parse JSON using Node.js? 但要注意如果require json,只載入一次,更新之後,再使用,可能還是老版本
json不好查看的問題:讀寫 JSON 文件 · Issue #73 · zhanhongtao/blog · GitHub
6.node郵件驗證:Nodejs發郵件組件Nodemailer
選擇適合的Node.js授權認證策略
7.很全的node mole Moles · joyent/node Wiki · GitHub
8.文件操作,要麼官方文檔:File System Node.js v0.12.2 Manual & Documentation,
或者node基礎-文件系統node.js 文件操作,有一個要注意的是 存儲文件時,比如writefile寫路徑 要使用path.join(__dirname, 「相對於當前文件路徑」); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,後端要採用這種dirname的形式,前端可以直接寫相對於當前文件路徑的形式
③ NodeJS項目基礎結構簡單介紹
按照常規,去執行npm start
或者在Terminal中手動輸入命令,結果如下:
可以看到是執行了test/package.json文件中的 start 命令,初始packagejson.json文件內容如下:
執行 start ,對應的命令為 node ./bin/www 並在命令行執行。現在項目已經啟動成功了,可以打開瀏覽器輸入 localhost:3000 查看一下,但是本次側重點在於項目啟動時候發生的完整的過程。所以……
那麼我們需要看一下 ./bin/www 文件
通過 require() 來引入本地安裝的包,這里載入了三個包 app、debug 、http ,主要關注一下app.js
可以看到app載入的為該項目基礎組件,核心為 var app = express(); 看一下express.js
將app用到的中間件等暴露出來,所以 app = express() 實際上就是載入應用基礎組件,生成項目的根節點(當然這個節點是復合的)。所以在app.js中,進行的是載入應用基礎組件並進行應用設置初始化(包含了視圖目錄設置、頁面模板引擎設置、中間件的設置、靜態資源目錄設置以及錯誤捕捉相關內容)。
繼續回到 www.js ,同樣將debug配置、http相關組件進行載入。繼而是默認埠號的設定。通過http.createServer(app),創建應用服務相關信息,並對埠進行監聽。
瀏覽器輸入 localhost:3000
控制台顯示:
說明在以 GET 方式請求URI為 "/" 的資源,並以 GET 方式請求 /stylesheets/style.css 資源,這個發生在app.js中我們設定的資源請求。
我們來看下 ./routes/index 文件
即定義網站主頁的路由
使用 express.Router 類創建模塊化、可掛載的路由句柄(簡稱:路由模塊)。Router 實例是一個完整的中間件和路由系統。最終,在應用中載入路由模塊app.use('/', indexRouter);
通過 res.render 對視圖進行渲染,上述為對index.ejs的渲染。 ps:在app.js中已經設定了views的所在目錄 。語法: res.render(view [,locals] [,callback])
示例:
區別:路由句柄
為請求處理提供多個回調函數,其行為類似 中間件 。唯一的區別是這些回調函數有可能調用 next('route') 方法跳至下一個同路由的回調函數而略過其他路由回調函數。路由句柄有多種形式,可以是一個函數、一個函數數組,或者是兩者混合。
使用一個回調函數處理路由:
使用多個回調函數處理路由(記得指定 next 對象):
使用回調函數數組處理路由:
混合使用函數和函數數組處理路由:
區別:路由方法
一個路由示例:
路由方法源於 HTTP 請求方法,和 express 實例相關聯。
獲取express的一個實例 app ,通過路由方法(和HTTP請求對應),GET方式請求 "/"。詳細的路由方法參考鏈接: 路由方法
④ 前端用nodejs能做什麼
Node.js到底是什麼?
Node.js是一個JavaScript的編譯環境,當前端語言JavaScript在寫完之後可以交給Node.js進行編譯和解釋,它的存在對於JavaScript有了質的飛躍。
下面就是一個簡單的Node.js命令
#node hello.js
目前,Node.js在大部分領域都佔有一席之地,尤其是I/O密集型的。
比如Web開發,微服務,前端構建等。不少大型網站都是使用 Node.js 作為後台開發語言的,用的最多的就是使用Node.js做前端渲染和架構優化,比如 淘寶 雙十一、去哪兒網 的 PC 端核心業務等。另外,有不少知名的前端庫也是使用 Node.js 開發的,如Webpack是一個強大的打包器,React/Vue 是成熟的前端組件化框架。
Node.js通常被用來開發低延遲的網路應用,也就是那些需要在伺服器端環境和前端實時收集和交換數據的應用(API、即時聊天、微服務)。阿里巴巴、騰訊、Qunar、網路、PayPal、道瓊斯、沃爾瑪和 LinkedIn 都採用了 Node.js 框架搭建應用。
另外, Node.js 編寫的包管理器npm已成為開源包管理了領域最好的生態,直接到2017年10月份,有模塊超過47萬,每周下載量超過32億次,每個月有超過700萬開發者使用npm。
Node.js是一個對於前端工作者不可或缺的工具。尤其是對於JavaScript有著巨大的提升,現階段Node.js的應用已經有了非常蓬勃的發展。對於Node.js的學習和熟練運用,必不可少!