Tag: express

AngularJS应用程序在本地和Heroku上有不同的行为

我已经用MEAN-stack(MongoDB,Express,AngularJS Node.js)编写了一个应用程序。 在本地,所有的东西都按照它的设想工作,但是由于某些原因,当我在Heroku上运行时,它的行为是不同的。 问题是,我的一些angular度控制器与内容types标题文本/ HTML而不是应用程序/ JavaScript传输。 如上所述,这不是本地的问题。 我已经更新了我的npm和bower包,所以一切都应该是最新的。 除了我使用3.4.4版(因为版本4.xx需要重写configuration)。 我使用相同版本的框架在本地和在heroku上工作。 请让我知道,如果我可以提供任何更容易解决问题的信息。 问候

处理node.js / express中的<select>表单参数

我有一个具有多选控件的表单。 当我提交表单时,请求的URL是这样的 http://www.domain.com/?carlist=saab&carlist=opel 同样的参数名“carlist”被传递,所以当我使用req.param('carlist')时,它只返回“opel”。 如何处理node.js / express中的多选表单参数? <select name="carlist" form="carform" multiple="multiple"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="opel">Opel</option> <option value="audi">Audi</option> </select>

mongoose:在几个领域的独特性

这是我的模式: var user = new Schema({ // other fields… email_1: String, email_2: String }); 有没有办法确保email_1和email_2的唯一性? 也就是说,如果某个电子邮件被保存为一个用户的email_1 ,则不能被其他人保存为email_1或email_2 。 我已经尝试了复合索引,但它只检查电子邮件对,而且我需要所有电子邮件都是唯一的。

Mongoose:CastError:强制转换为ObjectId在path“_id”处的值“me”失败

我知道这个问题有很多版本,但我找不到任何帮助我的东西。 function isAuthenticated() { return compose() // Validate jwt .use(function (req, res, next) { // allow access_token to be passed through query parameter as well if (req.query && req.query.hasOwnProperty('access_token')) { req.headers.authorization = 'Bearer ' + req.query.access_token; } validateJwt(req, res, next); }) // Attach user to request .use(function (req, res, next) { User.findById(req.user._id, function (err, user) […]

Node.js Express JS – 找不到模块

我已经在这里阅读了3到3个话题在这里在stackoverflow,但我似乎不能运行我的节点。 我尝试运行: node app.js local 并返回: Error: Cannot find module './config' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/Users/larsfalcon/Documents/lkrieger/git/testinggrounds/app.js:2:14) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) 在我运行这个命令之前,我这样做: npm i 它安装我的软件包,我可以physicalD在我的node_modules看到,expression在那里,但即使我尝试在CLI中运行快速它说它不是一个bash,所以我认为它不是安装某种程度上仍然? 这里是我的2 app.js和index.js文件,我需要运行我的节点的审查。 App.js var config = require('./config')(); http.createServer(app).listen(config.port, function(){ console.log('Express […]

node.JS Express护照路由

我已经创build了一个简单的项目,3页:家庭,联系和关于。 一切正常,然后我想添加用户注册与mongo。 所以我跟着这个教程 但是,当我添加一些新的路线,我不能访问更多的页面。 这是我的index.js当我可以访问我的3页 var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' }); }); /* GET contact page. */ router.get('/contact', function(req, res) { res.render('contact'); }); /* POST contact page (submit). */ router.post('/contact', function(req, res) { res.render('contact', { name: req.param('name') }); }); […]

使用angular从Node.js中调用多个动作

请帮忙,我在编程unf。 我为一个页面创build了一个路由router.get('/statistics', routesCtrl.statistics) ,我想在一些图表中使用Angular显示一些统计信息。 我意识到我需要发送一些查询结果,比如在db中有多less个注册,有多less个有这个属性,有多less个有这些属性,等等,对我来说都是新东西。 到目前为止,在路线的回应中,我仅从上面的列表中发送了一个统计信息。 我应该如何将这个信息发送给Angular,我应该创build一个包含这些统计信息的字面值对象,将它们打包在响应中并发送给Angular? 或者从数据库发送整个json,并在Angular中parsing它,但是这似乎也是一个错误的想法,因为如果它是真的,我不能使用Angular的mongoose查询。 我没有任何其他的想法,可能有更专业的方法。 谢谢!

如何使我的代码更清晰

该代码用于在Expressjs和MongoDB中处理POST请求 router.post('/', function(req, res){ var data = req.body; Tag.find({name: data.name}).limit(1).exec( function(err, result){ if(err){ } else { if(result.length > 0){ // Already exist a tag with same name res.status(400).end('Already exist!'); } else { // Save the new Tag to database var tag = new Tag(); tag.name = data.name; tag.lastModifier = req.user?req.user.username:"system"; tag.lastModified = Date.now(); tag.save(function(err){ if(err){ […]

NodeJS REST API模型和服务结构

我正在使用Express和MariaDB / Cassandra作为我的后端编写一个中等规模的应用程序。 我试图按照模型服务控制器模式。 我最初的devise有精简的控制器和胖模型,但我觉得模型包含了很多代码,可能需要分解成单独的文件。 所以现在我有一个位于控制器和模型之间的服务层。 我试图实现控制器/ API方法和服务方法之间的1-1映射。 每个单一的服务方法将尝试包含所有由该API方法执行的操作的代码。 我的validation逻辑在服务中。 此服务可能会使用async nodejs模块在内部调用多个模型,处理并将响应传递给其他模型。 但是这被certificate是一个问题。 想象一下,我正在注册一个用户,每个用户都属于一个组织。 – 我检查用户是否已经存在。 如果没有,我为用户创build一个组织。 我得到组织ID。 我创build用户,将组织标识映射到用户的表中。 所有这些都是在交易中进行的。 如果我将validation放在服务中,那么即使我没有用于插入组织的控制器/ API,我也必须有一个服务来插入组织,以便validation可以在那里执行。 这将打破Service和Controller / API之间的1-1映射。 将validation放在模型中的另一个问题是在插入组织或用户之前立即执行。 现在,如果组织数据正确,但用户数据不正确,组织将实际插入,但必须回滚。 有没有更好的方法来处理这个问题? 我是否应该首先在服务中对用户和组织进行validation,然后在模型中再次执行validation,还是有更好的方法来处理? 我很乐意进行剧烈的改变。

使用JWT授权从express node.js下载文件

我在我的node.js服务器上使用express-jwt模块来授权用户访问不同的请求。 其中一个要求最终将是一个文件下载与快递res.download(文件)。 问题是我不能像通常通过AJAX(angular $ http.get)那样执行请求,因为这不会触发浏览器中所需的文件下载popup窗口。 虽然没有AJAX(window.open),我无法为express-jwt提供必要的授权标头。 任何提示如何使用express和jwt-express从node.js中获得授权文件的下载?