Articles of locomotivejs

locomotive.js监听http和https

我有一个locomotive.js MVC项目,并在http上收听。 我想在https上收听,并将所有httpredirect到https。 我无法findnode.js的createServer,我发现唯一的代码是:在/lib/node_modules/locomotive/lib/locomotive/cli/server.js console.log('booting app at %s in %s environment', dir, env); locomotive.boot(dir, env, function(err, server) { if (err) { throw err; } server.listen(port, address, function() { var addr = this.address(); console.log('listening on %s:%d', addr.address, addr.port, addr); }); }); 变成 : console.log('booting app at %s in %s environment', dir, env); var crypto = require('crypto'), […]

Locomotive.js在调用“locomotive.boot”时抛出错误

我试图在我的locomotive.js应用程序上编写testing,从字面上从互联网上的一些例子复制/粘贴代码。 即使如此,每当我运行我的testing,我得到一个错误说 TypeError: string is not a function 当我检查locomotive.boot(使用locomotive.boot.length)期望的参数的数量,它说2 …但在每一个在线的例子(继续,谷歌它)的文档似乎说3.有谁知道我做错了什么? 这是我的代码: var locomotive = require('locomotive'), should = require('should'), request = require('supertest'); var app, server; describe('Application', function() { before(function(done) { locomotive.boot( __dirname+"/..", "test", function(err, express) { if (err) throw err; app = this; express.listen(4000, '0.0.0.0', function() { var addr = this.address(); console.log('Server started. [Env: '+SOPS.conf.get('app:environment')+'] [Addr: […]

用Mochatestinglocomotive.js

我正在构build一个locomotive.js的应用程序,我正在使用Mochatesting框架构buildtesting套件。 我也是一般的TDD / BDD的新手,所以请考虑到这一点。 我很好奇,如果任何人都可以指出我在一个好的方向开始testing一个基于机车的应用程序。 我最大的问题是: 我如何testing一个控制器的操作? 我可以testing初始化​​器吗? 围绕创buildtesting请求对象有最佳做法吗?

NodeJS Ejsvariables呈现HTML

你可以像使用ejs一样输出variables PagesController.test = function() { this.title = 'test' this.render(); } <title><%= title %></title> 不过,我试图在variables中包含html,它只是将其显示为文本。 是否有可能使其呈现为HTML?

使用CORS与LocomotiveJs Rest API。 适用于本地机器,但不适用于Amazon或Heroku

使用CORS与LocomotiveJs Rest API。 适用于本地机器,但不适用于Amazon或Heroku 我使用LocomotiveJs做了一个REST api,现在我正在试图启用CORS。 我将下面的代码添加到我的“所有”环境(config / environments / all.js)。 this.use(function crossOrigin(req,res,next){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With,Authentication"); res.header("Access-Control-Allow-Methods","GET,POST,PUT,DELETE,OPTIONS"); return next(); }); 它在我的本地机器上工作,但是当我部署到Heroku或AWS时,我得到一个404 Http错误,当客户端发送OPTIONS命令。 为了隔离问题,我开发了一个简单的Express应用程序,使用下面的代码: var express = require('express'); var app = express(); app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With,Authentication"); next(); }); app.get('/test', function(req, res){ res.set('Content-Type', 'application/json'); res.send({ 'Hello' : 'World' }); }); var […]

如何在Locomotive.js中使用会话

我正在看Node.js Web框架机车 。 由于它构build在Express之上,我认为Connect中间件应该很容易访问,但是我不知道如何。 我添加了2行config/environments/all.js : this.use(express.cookieParser()); this.use(express.session({ secret: 'keyboard cat'})); 会话对象现在在哪里?

LocomotiveJS服务器端口更改

我正在使用locomotivejs作为我的节点项目。 当我开启lcm server命令时,locomotive默认听3000端口。 我试图改变它,但没有工作。 我瘦我失去了一些东西。 从哪里可以更改lcm server命令的监听端口?

如何从Mongoose查询返回值

我正在做一个注册部分,在input数据到mongo之前进行一些服务器端validation。 我对mongoose是很新的,并且在返回数据到完成所有注册过程的方法时遇到麻烦。 在我的机车控制器中,我有一个包装一切的方法来开始注册过程。 auth = new Authenticator(); auth.signUp(this.req.body); 在我的auth对象中,signUp只是在创build一个新用户之前通过validation数据。 一个validation是,在数据库中已经没有重复的电子邮件了。 this.signUpUser = function(user) { if(this.isNotDuplicate(user.email) { //continue doing whatever needs done to the data afterwards } else { response['error'] = True response['response'] = "duplicate email" } } 我正在尝试的一种方法是寻找匹配并返回true或false的电子邮件。 this.isNotDuplicate = function(email) { query = user.findOne({ 'email': email }); query.exec(function(error, user) { if(error) { console.log(error); } […]

locomotivejs和mongoose:将promiseparameter passing给控制器

序言:我不确定这是不是问这个问题的最好方法,因为我相当肯定这个问题比我做得更笼统,可能有一个全球模式来解决我的问题。 目前,这是我正在使用的原始代码的上下文中的问题。 给定一个locomotivejs控制器,我们称之为Contact_Controller,其结构如下: '\controllers\contact_controller.js var locomotive = require('locomotive') , Controller = locomotive.Controller , Contact = require('../models/contact') , sender = require('../helpers/sender') ; var Contact_Controller = new Controller(); 接着: Contact_Controller.list = function() { //Provides a list of all current (successful) contact attempts var controller = this; Contact.find({status: 1}, function(err, results) { if(err) { controller.redirect(controller.urlFor({controller: "dashboard", action: "error"})); […]

最好的方式来设置locomotivejs护照twitter?

我正在尝试在我的机车项目中configurationpassport-twitter。 问题是,点击/ auth / twitterurl后没有任何反应。 编辑:我打控制器,但叽叽喳喳似乎不被调用。 我所做的是在routes.js上设置一个匹配/ auth / twitter,并将其映射到一个auth_controller.js 类似下面的代码: routes.js this.match('auth/twitter/', 'auth#twitter'); this.match('auth/twitter/callback/', 'auth#callback'); auth_controller.js var locomotive = require('locomotive') , Controller = locomotive.Controller , passport = require('passport'); var AuthController = new Controller(); AuthController.twitter = function() { console.log('[##] AuthController.twitter [##]'); passport.authenticate('twitter'), function(req, res) {}; } AuthController.callback = function() { console.log('[##] AuthController.callback [##]'); passport.authenticate('twitter', { […]