Harp 库

Express 嵌入式中间件

有时候,你已经拥有了一个服务,但是想将 Harp 作为 asset pipeline,来获取 Harp 预处理的优点。

本示例在一个项目中,结合了 Express 的长处和所有 Harp 的优点。 没有外部的预处理,没有复杂的配置,并且没有客户端的解析器;只有编码的幸福。最好的是,设置极其简单。

添加 Harp 作为依赖

在你的 Express 应用的 package.json 文件中包含 Harp 作为依赖。

1
2
3
4
5
6
7
8
{ "name":
"myapp",
"version": "0.1.0",
"dependencies": {
"express": "3.x",
"harp": "*"
}
}

使用 harp.mount

接下来,使用 harp.mount,就像使用静态中间件一样。

1
2
3
4
5
6
7
8
9
10
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
添加 Harp 应用

全部搞定!现在将你的 Harp 应用的静态文件放到 public 目录下。下面是你的 public 目录有可能看起来像的示例:

1
2
3
4
/public
/_data.json
/_harp.json
/index.ejs
你可以用一个正常 Harp 应用同样的方式 给模板传递数据。例如,使用 _data.json:
1
2
3
4
5
{
"index": {
"title": "Hello World"
}
}

至于全局变量,使用 _harp.json 文件,就像这样:

1
2
3
"globals": {
"foo": "bar"
}
然后你可以像这样在你的 index.ejs 模板中使用 title 和 foo变量:

1
2
<h1><%= title %></h1>
<p><%= foo %></p>
应该输出:

1
2
<h1>Hello World</h1>
<p>bar</p>

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3