打鐵趁熱,
今天要介紹如何在 mojito 中使用其他從 npm 安裝的 package,
根據 YDN 上的文件,
在 0.3.26 版本只要透過 npm 安裝的 package,
只要透過 require 就可以使用。
但其實不然,
要碼就是要把 node_modules 中的 檔案搬到 application level 的 libs 目錄下,
不然就是 要放到 mojit 中的 libs 目錄下,
說老實話前兩種方法都有點麻煩,
所以呢,
柯南建議用第三種做法,
用下面的方法 require package:
YUI.require(__dirname + '/../../node_modules/套件所在目錄');
這樣子就不用把那些檔案搬來搬去了。
話不多說,
趕緊來試試這個簡單範例,
這次會多裝的 package 是 FeedParser https://github.com/danmactough/node-feedparser
這個 package 可以讓我們輕鬆讀取 RSS Feed。
以下照著做應該就能做好
當然要先安裝好 mojito 就是 XD
1. 建立 feedparser mojito application
$ mojito create app feedparser
2. 建立這個範例用的 mojit
$ mojito create mojit rss
3. 編輯 package.json 在 dependencies 的位置 修改為
...
"dependencies": {
"mojito": ">= 0.1.0",
"feedparser" : ">=0.9.9"
},
...
4. 執行 npm i .
5. $ edit mojits/rss/controller.server.js 修改 index action
index: function(ac) {
var FeedParser = YUI.require(__dirname + '/../../node_modules/feedparser'),
parser = new FeedParser();
function myCallback (error, meta, articles){
if (error) {
console.error(error);
}
else {
ac.done({
"title": "feedParser at work!",
"articles": articles
});
}
}
parser.parseFile('http://news.ycombinator.com/rss', myCallback);
}
6. $ edit mojits/rss/views/index.mu.html 修改 index action 的 view
<h2>{{title}}</h2>
<div id="{{mojit_view_id}}">
<ul>
{{#articles}}
<li><a href="{{link}}">{{title}}</a></li>
{{/articles}}
</ul>
</div>
7. $mojito start 啟動 mojito
8. 用瀏覽器打開 http://localhost:8666/@rss/index
以上 8步就可寫好一個 讀取 hacker news rss feed 的列表頁面了!
以上大概 10 min 內可以搞定,
歡迎大家一起來試試看喔 :D
Technorati Tags: mojito, nodejs, npm, package, feedparser, hacker news
留言列表