Articles of 复合

如何处理compoundjs中不同命名空间的单独布局

嘿家伙,我是一个刚刚开始在nodejs工作的noob。 我正在开发一个使用复合jj的nodejs上的web应用程序。 这是我的视图文件夹的结构 views/ |– admin | |– games | |– squadplayertypes | `– toursection | |– tourformats | |– tourmatchtypes | `– tours |– layouts | |– admin | | `– toursection 我创build了一个名称空间来处理所有针对“/ admin”的请求。 现在我想知道是否有可以在命名空间“admin”中为所有路由定义通用布局的地方。 这是我写我的routes.js admin.namespace('toursection', function(toursection){ toursection.resources('tours',function(tour){ tour.post('fetchTourDetails','tours#fetchTourDetails',{collection:true}); }); toursection.resources('tourmatchtypes'); toursection.resources('tourformats'); }); /*Routes for squad players and all related dependancies*/ admin.resources('squadplayers');

复合JS关系访问

我已经定义了2个模式对象如下(用于一个mongodb) var User = describe('User', function () { property('name', String); property('email', String); property('password', String); set('restPath', pathTo.users); }); var Message = describe('Message', function () { property('userId', String, { index : true }); property('content', String); property('timesent', Date, { default : Date }); property('channelid', String); set('restPath', pathTo.messages); }); Message.belongsTo(User, {as: 'author', foreignKey: 'userId'}); User.hasMany(Message, {as: 'messages', foreignKey: 'userId'}); […]

如何通过CompoundJS中的“使用”方法传递参数?

我正在使用CompoundJS(Express / NodeJS的MVC)。 为了在控制器之间共享代码,Doc说在controller1.js我可以使用publish方法来共享一个方法: /***controller1.js***/ function sharedFunction () {…} publish('sharedFunction', sharedFunction); //Sharing… 在controller2.js我可以通过load它并尝试use方法来访问它: /***controller2.js***/ load('controller1'); // _controller siffix must be omitted use('sharedFunction') 问题 这很好,但是,我有一个sharedFunction有params: /***controller1.js***/ function sharedFunction (param1, param2) {…} publish('sharedFunction', sharedFunction); //Sharing… 我一直在阅读文档,但是我找不到如何,或者语法,在controller1.js上的use方法上添加这个参数。 我在哪里发送这些参数? : /***controller2.js***/ load('controller1'); // _controller siffix must be omitted use('sharedFunction(params here?)', {params here?}) //where do I send the params? 非常感谢你!

如何在jugglingdb中添加一个自定义属性来build模,并通过JSON返回

如何将一个自定义属性添加到jugglingdb模型? 我想定义一个自定义的属性,特别是与自定义的方法,因为我想把它返回给客户端。 这是一个使用无处不在的Post模型的例子: DB / schema.js: var Post = schema.define('Post', { title: { type: String, length: 255 }, content: { type: Schema.Text }, date: { type: Date, default: function () { return new Date;} }, timestamp: { type: Number, default: Date.now }, published: { type: Boolean, default: false, index: true } }); 应用程序/模型/ post.js: var […]

复合jslogging用户的行为

我需要find一种方法在我的Compound.JS + MongoDB应用程序中logging用户的活动。 创build一个表并插入信息,比如who(什么login名)更新/创build/删除哪个表中的哪个logging,哪个字段从哪个字段改变到哪个字段,这将是非常好的。 我认为这可能是一个npm包,但到目前为止在谷歌我只find有关日志logging(写入日志文件)这是不是我想要的。

生产模式下的CompoundJS呈现网页,而不是检索JSON数据

我是CompoundJS的新手,我不太确定这是否是正确的行为。 我使用以下代码在PROD模式下启动服务器: NODE_ENV=production compound server 8081 然后我打: http://localhost:8081/categories/ 我是除了看到从服务器检索到一些JSON 。 相反,它会呈现如下所示的页面:

如何在一个compoundJS实例下运行多个“应用程序”?

多年来,我一直在使用nodeJS + expressJS为我们的组织开发定制的应用程序平台。 我们的中央框架为任何已安装的模块/应用程序提供了一套通用的服务(authentication,语言,pipe理等)。 我想用compoundJS来切换我们的框架。 不过,我不熟悉它(和Rails应用程序)强加的devise约束,似乎无法弄清楚如何完成我所追求的。 我想只有一个服务器实例运行:通过我们的通用身份validation检查所有请求的第一个进程。 然后传递给应用程序的控制器。 我也想分开每个应用程序:最好在一个单独的网站/应用程序/目录下。 这些应用程序中的每一个都可以使用compoundJS来devise。 我想安装它们,如: cd site/applications npm install site-hr npm install site-finance npm install site-payroll 这将有所有从/ hr,/ finance,/ payroll运作的路线。 我如何做到这一点? 有没有办法让compoundJSsearch模型/控制器/视图的非标准/应用程序/ *文件夹,并加载它们,同时保持中央/网站configuration? 或者,还有更好的方法?

Helper在NodeJS + CompoundJS中

我刚开始使用CompoundJs,还有很多我仍然需要学习。 我只是想弄清楚Helpers是如何在NodeJS + CompoundJS中工作的,从目前为止我所看到的Helpers是用来和Views一起使用的,而不是用在你的控制器上的。 不过,我想做一个简单的函数,将validation在params中给出的用户input(检查是否定义了某些参数,并可选地检查它们的值是否有效)。 任何人都可以向我解释什么是实施这个最好的方式? 请记住,我将要在许多不同的控制器中使用它,所以它应该是全球可用的。 我必须使用自定义validation程序或助手吗?

在CompoundJS中的一对多关系

我是CompoundJS的新手,并且在与jugglingDBbuild立一对多关系时遇到问题。我使用MySQL作为数据库。 我已经build立了两个模型的书和作者。 书有很多作者。 这是我的schema.js (db / schema.js): var Book = describe('Book', function () { property('title', String); property('isbn', String); property('authorId', Number); set('restPath', pathTo.books); }); var Author = describe('Author', function () { property('name', String); property('authorId', Number); set('restPath', pathTo.authors); }); 我把关系放在models / Book.js中。 这是我的Book.js (models / Book.js): module.exports = function (compound, Book) { Book.hasMany(compound.models.Author, {as: 'author', foreignKey: 'authorId'}); […]

Compoundjs无法与jugglingdb-mysql一起运行

试图用mysqltestingcompoundjs,但是失败了。 我的系统是Debian 7,具有以下版本的nodejs&npm $ node -v v0.10.13 $ npm -v 1.3.4 这是我如何安装compoundjs sudo npm install -g复合 sudo npm install -g jugglingdb –save sudo npm install -g jugglingdb-mysql 复合inittesting应用程序 – db mysql 光盘testapp npm安装 $ node server.js 警告:JugglingDB适配器“mysql”没有安装, 所以你的模型将无法正常运行: npm安装jugglingdb-mysql /srv/www/playground/node/testapp/node_modules/jugglingdb/lib/railway.js:55 如果(!schema.adapter)抛出新的错误('适配器未定义'); ^ 错误:适配器未定义 在init(/srv/www/playground/node/testapp/node_modules/jugglingdb/lib/railway.js:55:36) 在CompoundServer.initialize(/srv/www/playground/node/testapp/node_modules/jugglingdb/index.js:31:19) 在CompoundServer.EventEmitter.emit(events.js:98:17) 在CompoundServer.initCompound(/srv/www/playground/node/testapp/node_modules/compound/lib/compound.js:123:14) 在CompoundServer.initCompoundServer [as init](/srv/www/playground/node/testapp/node_modules/compound/lib/server/compound.js:53:29) 在/srv/www/playground/node/testapp/node_modules/compound/lib/compound.js:67:18 在process._tickCallback(node.js:415:13) 在Function.Module.runMain(module.js:499:11) 在启动(node.js:119:16) 在node.js:901:3 […]