使用 Harp 显示一个自定义的 404 页面。
无论你在做什么项目,都有必要做一个自定义的 404 页面,给访问者提供有用的信息,并且设计地像站点的其余部分风格。
非常简单,只需要在你应用的根目录下添加一个 404.jade
、404.ejs
、404.md
或者 404.html
文件就好了。
如果你 初始化一个新的 Harp 应用,会自动生产一个 404.jade 文件。给现有项目添加一个自定义的 404 页面,只需要在根目录中添加一个 404 文件。
mmyproject/ |- 404.html |- index.html +- main.less如果你的项目想要使用相同的布局,即使是 404 页面,那么你可以将应用的目录结构设置成这样:
myproject/ |- _layout.ejs |- index.ejs |- 404.md +- main.scss这样,_layout 文件将会同时包裹
index.ejs
和 404.md
。
使用 Harp 的 200 文件来路由一个客户端应用
如果你在用一个像 Backbone,Angular,或者 Ember 的框架来开发一个客户端应用,你会想用 HTML5 的 PushState 来做你的客户端路由。200 文件给你提供一个 200 OK
状态码。
用一个 200.jade
、200.ejs
或者 200.md
文件替代你的 404 文件。这个文件必须是在你应用的根目录。
给定下面的目录结构:
myproject/ |- 200.ejs |- app.js |- framework.js +- main.scss
200.ejs
文件会在所有的静态路由之后运行,并且在 404 之前,让你可以做客户端的任何路由。
这与静态页面又很好的协作。例如,如果你有一个客户端应用,但是希望你的博客是静态的,并且不使用路由,你的应用有可能是这样的:
myproject/ |- _layout.ejs |- 200.ejs |- css/ +- main.scss |- js/ |- app.js +- framework.js +- blog/ |- _data.json |- index.ejs |- my-post-1.md +- my-post-2.md现在,如果你在浏览器中访问
/blog
,200
文件将会被先运行。如果你的客户端路由不对这个请求做任何事情,你的静态博客将会被运行。 有大量的客户端路由和框架可以使用: