1. 安装bower前端包管理器
bower是一个前端软件包管理器,便于安装、更新以及卸载javascript,css,html等框架资源,并解决之间的相互依赖关系。
npm install -g bower // 安装bower help // 查看帮助
这里YY一下:
npm是node.js的包管理器,通过它安装了 express , express-generator , supervisor , bower 等等软件, bower 又是前端框架的软件包,安装了 bootstrap 以及 jquery 等一些依赖包。突然发现简直是包包相扣啊,渐渐的醉了。其中的水实在是太深了,想简单学个web开发也不是那么容易的事啊,有种淡淡的忧伤。然并卵,心向往之,一如既往。
2. 安装bootstrap以及jquery
当然你也可以直接将 bootstrap 以及 jquery 下载下来,放入项目文档中,不用安装什么包管理器,自己解决简单的依赖关系就OK了,但是不都是为了快速建站嘛,装个包管理器自动解决依赖关系。并且在发布自己的项目的时候,也不需要将所有的框架包一块发布,而只需将相关的 json 文件放到项目里就可以了,别人一目了然你的依赖关系,便于快速搭建。
有了 bower ,直接 bower install bootstrap 就OK了,因为依赖关系,它会自动给你装上 jquery ,完事。
3. 模板引擎中引入 bootstrap 以及 jquery
安装好了或者说项目中已经放置好了 bootstrap 和 jquery 之后,接下来就是在文件中引用它,在views文件夹中创建一个 head.jade 文件,顾名思义就是放置HTML中head标签里面的一些内容。如下代码:
link(href='/bootstrap/dist/css/bootstrap.min.css',rel='stylesheet')script(src='/jquery/dist/jquery.min.js')script(src='/bootstrap/dist/js/bootstrap.min.js')
创建完 head.jade 后,接下来在所有需要的页面中,加上 include head.jade 包含到页面中就OK了。
4. 使用模版布局
由于基本上所有的页面都需要包含 head.jade ,总不能每个页面都写上 include head.jade 吧,于是布局文档 layout.jade 就要起作用了。单独创建 layout.jade 文件,将一些共性的代码写进去。
doctype htmlhtml head title= title link(rel='stylesheet', href='/stylesheets/style.css') include ./includes/head body include ./includes/header h1= title block content
如上,一些独立的模块依然可以通过 include 语句进行加载,最后一句 block content 就是模版布局的关键,意思就是在模版的此处插入页面,也就是应用此模版布局的差异处。
然后在应用此模版布局的页面中,加上 extent layout 就OK了。如下:
extends ../layoutblock content p Welcome to #{title}
注意: extends 模版文件以及 include 代码中使用文件尽量使用相对路径。
5. 开始编辑页面
准备工作都做得差不多了,那么接下来就是使用 jade 语法以及 bootstrap 样式来编辑页面了。下面简单大致写个首页(index)以及详情页(detail)。
// index.jadeextends ../layoutblock content .container .row h1= title small 图书列表 each item in books .col-md-3.col-xm-6 .thumbnail.text-center a(href='/detail/#{item._id}') img(src='#{item.poster}' ,alt='#{item.title}') .caption h3= item.title .btn-group a.btn.btn-primary(href='/detail/#{item._id}') 查看详情 a.btn.btn-primary(href='#{item.buyUrl}') 购买书籍
// detail.jadeextends ../layoutblock content .container .row h1= title small= book_title .col-md-9.col-sm-9 .thumbnail img(src='#{book_poster}') .caption p= book_info a.btn.btn-primary(href='#{book_buyUrl}') 购买书籍 .col-md-3.col-sm-3 h3 作者 p #{book_author} h3 出版年月 p #{book_year}年 h3 页数 p #{book_pages}页 h3 定价 p ¥#{book_price}
上面两个页面是 bootstrap 最基本的布局,详细学习bootstrap推荐 Bootstrap 教程 | 菜鸟教程

公眾號網頁更新緩存,這玩意兒,說簡單也簡單,說複雜也夠你喝一壺的。你辛辛苦苦更新了公眾號文章,結果用戶打開還是老版本,這滋味,誰受得了?這篇文章,咱就來扒一扒這背後的彎彎繞繞,以及如何優雅地解決這個問題。讀完之後,你就能輕鬆應對各種緩存難題,讓你的用戶始終體驗到最新鮮的內容。先說點基礎的。網頁緩存,說白了就是瀏覽器或者服務器為了提高訪問速度,把一些靜態資源(比如圖片、CSS、JS)或者頁面內容存儲起來。下次訪問時,直接從緩存裡取,不用再重新下載,速度自然快。但這玩意兒,也是個雙刃劍。新版本上線,

本文展示了使用CSS為網頁中添加有效的PNG邊框。 它認為,與JavaScript或庫相比,CSS提供了出色的性能,詳細介紹瞭如何調整邊界寬度,樣式和顏色以獲得微妙或突出的效果

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文討論了html< datalist>元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文討論了HTML< meter>元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了< meter>從< progress>和前

本文討論了HTML< Progress>元素,其目的,樣式和與< meter>元素。主要重點是使用< progress>為了完成任務和LT;儀表>對於stati

本文解釋了HTML5< time>語義日期/時間表示的元素。 它強調了DateTime屬性對機器可讀性(ISO 8601格式)的重要性,並在人類可讀文本旁邊,增強Accessibilit


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)