關(guān)于node的總結(jié)

路由:

? ? ? app.get(“網(wǎng)站”,function(){ })

? ? ? app.post(“網(wǎng)站”,function(){ })

? ? ? 當前端ajax執(zhí)行g(shù)et / post / remove等請求時,運行網(wǎng)站內(nèi)容,回調(diào)給前端信息


模板引擎與render:

????????????app.set("view engine","ejs");

如果報錯:ejs路徑找不到時,應(yīng)當盡快檢查安裝包的路徑!

? ??????????res.render('index',{

????????????????????"news" : [ "? 我是小新聞啊? "? ,? "? 我也是啊? "? ,? " 哈哈哈哈 " ],

? ? ? ? ? ? ? ? ? ? "a" : 1,

? ? ? ? ? ? ? ? ? ? "people"? :? [

????????????????????????????????{ "title" :? " 哈哈哈1111 " ,"id"? :? "01"? } ,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { "title" :? " 哈哈哈2222 " ,"id"? :? "02"? } ,

????????????????????????????? ??{ "title" :? " 哈哈哈3333 " ,"id"? :? "03"? }?

? ? ? ? ? ? ? ? ? ? ]

????????????});

ejs單獨模板示例:(在index.ejs中)

????????????<% for(var i = 0 ; i < news.length ; i++){ %>

????????????????????<%= news[i] %>

????? ??????????????<%= people[i] . title %>??

????????????<% } %>


ejs后端模板示例:(在js文件中)

? ??????????//? 模板

????? ? ? ? var? ?string? =? " 好高興啊,今天買了<%=? a%>個香蕉 "

? ??????????//? 數(shù)據(jù)

? ? ? ? ? ? var data? =? {? ? a:8? ? };

? ??????????//? 數(shù)據(jù)綁定

????????????var? ?html? =? ejs.render ( string , data ) ;

? ??????????//? 輸出

? ? ? ? ? ? console.log ( html ) ;


render與send:

render將模板展示出來,必須有ejs或jade文件配合,并且注意引包的路徑

send沒有ejs等模板文件,同樣能顯示出來


? 前端form表單與后端的連接:

action:XXX表示前端要提交給后端的操作地址

method:表示要用什么請求post / get

但是提交需要用? input? 的submit屬性發(fā)送給后端

相當于點擊某按鈕后,執(zhí)行ajax操作? ? ?? $.post("XXX",function(){? });然后后端路由


?中間件:? ? ? ? (小到大,具體到抽象)

當路由中,使用相同的請求,執(zhí)行相同的路徑時,兩者都執(zhí)行,

那么需要中間件(????next參數(shù),內(nèi)部執(zhí)行next()????)

(一)

aap.get("/",function( req , res , next ){

? ? ? ? console.log("1111");

? ? ? ? next();

});

aap.get("/",function(){

? ? ? ? console.log("222");

});

(二)

use是特殊的中間件

app.use( " /admin " , function( req,res ){?

//當訪問網(wǎng)址為:? http://127.0.0.1:3000/admin/aa/bb/cc/dd

? ? ? ? ? ? res.send ( req.originalUrl? + " \n " );? ? //? ?返回/admin/aa/bb/cc/dd

? ? ? ? ? ? res.send ( req.baseUrl? + " \n " );?????????//? ?返回/admin

? ? ? ? ? ? res.send ( req.path? + " \n " );? ? ? ? ? ? ? //? ?返回/aa/bb/cc/dd

} ) ;

app.use( " / " , function( req,res ){

????????????//? 任何網(wǎng)址都是/的擴展

})



公共模板:

首先將需要的公共模板? ?剪切到新文件里,如header、footer等

然后再需要的文件里引用????<%? ? include? ? ?header.ejs? ?%>

<body>

? ??????<%? ? include? ? ?header.ejs? ?%>

</body>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容