close

打鐵趁熱,
今天要介紹如何在 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 的列表頁面了!

hackerNews

以上大概 10 min 內可以搞定,
歡迎大家一起來試試看喔 :D 

Technorati Tags: mojito, nodejs, npm, package, feedparser, hacker news

arrow
arrow

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()