Javascript 模块的节点js包
说明: 我有一个node js项目,我有包模型(其中包含带有我的模型对象的模块),有routes包(其中存储了带有routes handler函数的模块),还有带有“express”配置和http服务器的app.js文件 问题是:如何将模型对象从models包导入routes包index.js模块 index.js:Javascript 模块的节点js包,javascript,node.js,model-view-controller,express,Javascript,Node.js,Model View Controller,Express,说明: 我有一个node js项目,我有包模型(其中包含带有我的模型对象的模块),有routes包(其中存储了带有routes handler函数的模块),还有带有“express”配置和http服务器的app.js文件 问题是:如何将模型对象从models包导入routes包index.js模块 index.js: var ArticleProvider = require('smth goes here').ArticleProvider; var articleProvider= new
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包中包含models包。示例:要求(“./models/mymodel.js”)
)。查看npm链接
它允许您将包作为依赖项构建到节点单元模块中,然后您可以在任何地方需要它解决方案是
var ArticleProvider = require('../models/articleprovider.js').ArticleProvider;
我是node.js的新手,这样存储模型是一种很好的做法吗?是的,这是一种方法。您可以使用的另一个选项是将您的包发布到npm数据库中,然后“npm安装”它,或者将它存储到您的how repo(github等)中。我们谈论的不是一般的包,而是作为更大应用程序一部分的模块。