有時候,你已經(jīng)擁有了一個服務(wù),但是想將 Harp 作為 asset pipeline,來獲取 Harp 預(yù)處理的優(yōu)點(diǎn)。
本示例在一個項(xiàng)目中,結(jié)合了 Express 的長處和所有 Harp 的優(yōu)點(diǎn)。 沒有外部的預(yù)處理,沒有復(fù)雜的配置,并且沒有客戶端的解析器;只有編碼的幸福。最好的是,設(shè)置極其簡單。
在你的 Express 應(yīng)用的 package.json 文件中包含 Harp 作為依賴。
{ "name":
"myapp",
"version": "0.1.0",
"dependencies": {
"express": "3.x",
"harp": "*"
}
}
接下來,使用 harp.mount,就像使用靜態(tài)中間件一樣。
var express = require("express");
var harp = require("harp");
var app = express();
app.use(express.static(__dirname + "/public"));
app.use(harp.mount(__dirname + "/public"));
app.listen(9000);
// routes as normal
全部搞定!現(xiàn)在將你的 Harp 應(yīng)用的靜態(tài)文件放到 public 目錄下。下面是你的 public 目錄有可能看起來像的示例:
/public
/_data.json
/_harp.json
/index.ejs
你可以用一個正常 Harp 應(yīng)用同樣的方式 給模板傳遞數(shù)據(jù)。例如,使用 _data.json:
{
"index": {
"title": "Hello World"
}
}
至于全局變量,使用 _harp.json 文件,就像這樣:
"globals": {
"foo": "bar"
}
然后你可以像這樣在你的 index.ejs 模板中使用 title 和 foo變量:
<h1><%= title %></h1>
<p><%= foo %></p>
應(yīng)該輸出:
<h1>Hello World</h1>
<p>bar</p>