codecamp

Harp 库

Express 嵌入式中间件

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

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

添加 Harp 作为依赖

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

{
 "name": "myapp",
 "version": "0.1.0",
 "dependencies": {
   "express": "3.x",
   "harp": "*"
 }
}

使用 harp.mount

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

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​ 目录有可能看起来像的示例:

/public
 /_data.json
 /_harp.json
 /index.ejs 

你可以用一个正常 Harp 应用同样的方式将数据传递到模板 例如,使用 ​_data.json​:

{
  "index": {
    "title": "Hello World"
  }
}

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

{
  "globals": {
    "foo": "bar"
  }
}

然后你可以像这样在你的 ​index.ejs​ 模板中使用 ​title​ 和 ​foo​ 变量:

<h1><%= title %></h1>
<p><%= foo %></p>

应该输出:

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


Harp 更新
Harp 端口冲突
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }