2013-10-15 54 views
0

說明: 我有一個節點js的項目,我的包款(其中包含與我的模型對象模塊),具有路由封裝(其中存儲與路由處理功能模塊),以及具有'express'配置和http服務器的app.js文件。節點JS包模塊

問題是:如何從模型包導入模型對象到路徑package,index.js模塊?

index.js:

var ArticleProvider = require('smth goes here').ArticleProvider; 

var articleProvider= new ArticleProvider(); 

exports.index = function(req, res){ 
    articleProvider.findAll(function(error, docs){ 
     //console.log(error) 
     res.send(docs); 
    }); 
}; 

mymodel.js

ArticleProvider = function(){}; 
ArticleProvider.prototype.dummyData = []; 
ArticleProvider.prototype.findAll = function(callback){ 
    callback(null, this.dummyData); 
}; 

ArticleProvider.prototype.save = function(articles, callback) { 
    var article = null; 
    if (typeof(articles.length) == "undefined") { articles = [articles]; } 

    //callback(); 
}; 

exports.ArticleProvider = ArticleProvider; 

注:我可以從底層導入任何東西(例如:如果我將不得不模型包內部路線包例如:require("./models/mymodel.js"))。

回答

1

的解決方案是

var ArticleProvider = require('../models/articleprovider.js').ArticleProvider; 
0

看一看故宮鏈接https://npmjs.org/doc/link.html

它允許你建立一個包作爲依賴,進入node_modules,然後你可以要求它,無論你想

+0

我在node.js上是新手,以這種方式存儲模型是否不錯? –

+0

是的,這是做到這一點的一種方法。你可以使用的其他選擇是將你的軟件包發佈到npm數據庫中,然後「npm install」它,或者將它存儲到你的回購(github等)中。 – Ostro

+2

我們不是在談論一般的軟件包,而是在談論一個模塊的更大的應用程序。 – robertklep