Nodejs頁面開發

採用express前端框架+ejs模板
當然也踩了一些express的坑
1、style引用
按照網上說的設置後css沒有被應用,查找之後發現是沒有被下載,地址錯了,就找ejs的錯誤,發現ejs是這麼寫的:

我就是這麼寫的哪錯了呢?
因爲express框架裏有個東西叫靜態資源託管
app.use(express.static(path.join(__dirname, ‘public’)));
nodejs初始化工程的時候設置上了,於是原本需要../public/style/style1.css的資源只需要style/style1.css就能直接訪問
正確答案:
我就奇怪我引入的bootstrap怎麼就不起作用呢。

2、weui
微信的前端框架,我一開始沒明白,後來發現應該是bootstrap一樣的東西,提供的css樣式庫和 js

3、ejs調用js函數
這個不可爲不是個大坑,一度讓我都想把頁面換成html重寫了
常見的JS 調用的方法主要有兩個:
ejs.compile(str, options);
// => Function
ejs.render(str, options);
// => str
但這倆都是從router的js跳轉到ejs頁面時的調用,我要在頁面裏使用就犯難了,然後憑着之前做項目用ejs的印象我終於想起來了
首先在head或者body的script標籤裏得寫一個 function onUpload()
然後在頁面裏直接寫:

<!--a tag-->
<a id=uploaderCustomBtn href="javascript:onUpload()"  class="weui-btn weui-btn_primary">上傳</a> 
<!--button tag-->
<button id=uploaderCustomBtn onclick="javascript:onUpload()" class="weui-btn weui-btn_primary">下載</button> </div>

點擊按鈕就可以觸發到onUpload了,自己測試可以用alert(“time”);看效果直觀而且快,畢竟你在js裏面的log在控制檯可看不出來。
另外
var ejs = require(“ejs”);
//使用set方法,爲系統變量“views”和“view engine”指定值。
app.set(“views”, __dirname + “/views”);
// 指定模板文件的後綴名爲html
app.set(‘view engine’, ‘html’);
// 運行hbs模塊
app.engine(‘html’, ejs.__express);
以上方法使用之後,由於view engine指定解析模板爲html,整個服務都不能在解析你自己寫的ejs了

4、js的三種彈框
這三種彈框的共同點是必須關閉了用戶才能繼續在頁面上操作
1)警告消息框alert
alert 方法有一個參數,即希望對用戶顯示的文本字符串。該字符串不是 HTML 格式。該消息框提供了一個“確定”按鈕讓用戶關閉該消息框,並且該消息框是模式對話框
window.alert(“歡迎!請按“確定”繼續。”);
2)確認消息框confirm
使用確認消息框可向用戶問一個“是-或-否”問題,並且用戶可以選擇單擊“確定”按鈕或者單擊“取消”按鈕。confirm 方法的返回值爲 true 或 false。該消息框也是模式對話框:用戶必須在響應該對話框(單擊一個按鈕)將其關閉後,才能進行下一步操作。
var truthBeTold = window.confirm(“單擊“確定”繼續。單擊“取消”停止。”);
if (truthBeTold) {
window.alert(“歡迎訪問我們的 Web 頁!”);
} else window.alert(“再見啦!”);
這裏寫圖片描述
3)提示消息框prompt
提示消息框提供了一個文本字段,用戶可以在此字段輸入一個答案來響應您的提示。該消息框有一個“確定”按鈕和一個“取消”按鈕。如果您提供了一個輔助字符串參數,則提示消息框將在文本字段顯示該輔助字符串作爲默認響應。否則,默認文本爲 “”。
與alert( ) 和 confirm( ) 方法類似,prompt 方法也將顯示一個模式消息框。用戶在繼續操作之前必須先關閉該消息框
var theResponse = window.prompt(“歡迎?”,”請在此輸入您的姓名。”);
其中theResponse是彈窗中的輸入值
在實踐中發現和上述不太一樣這裏寫圖片描述
所以我們在網站上看到的有title,有msg的都是自定義的彈窗,可以參考

5、

發佈了62 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章