【问题标题】:Node js packages for modules用于模块的 Node js 包
【发布时间】:2013-10-15 08:09:10
【问题描述】:

说明: 我有一个节点 js 项目,我有包模型(其中包含带有我的模型对象的模块),有路由包(其中存储了路由处理程序函数的模块),以及带有“express”配置和 http 服务器的 app.js 文件。

问题是:如何将模型对象从models包导入到routes包,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;

注意:我可以从底层导入任何东西(例如:如果我在 routes 包中有模型包。示例: require("./models/mymodel.js"))。

【问题讨论】:

    标签: javascript node.js model-view-controller express


    【解决方案1】:

    解决办法是

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

    【讨论】:

      【解决方案2】:

      看看npm链接https://npmjs.org/doc/link.html

      它允许你将包作为依赖构建到 node_modules 中,然后你可以在任何你想要的地方使用它

      【讨论】:

      • 我是 node.js 的新手,以这种方式存储模型是不是很好?
      • 是的,这是一种方法。您可以使用的另一个选项是将您的包发布到 npm 数据库中,然后“npm 安装”它,或者将其存储到您的 how repo(github 等)中
      • 我们不是在谈论通用包,而是在谈论作为更大应用程序一部分的模块。
      猜你喜欢
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 2015-10-03
      • 2013-08-30
      • 2015-02-05
      • 1970-01-01
      相关资源
      最近更新 更多