Tag: 表示

使用Nodemailer在Angular中创build联系人表单

我正在尝试为我的网站创build一个联系表单。 我正在使用MEAN堆栈,所以nodemailer模块似乎是有意义的使用。 我已经创build了一个端点'/api/contact'来接受一个POST请求,并使用该请求上的数据来发送邮件。 然后,我在我的angular度应用程序,它提交调用一个函数,使一个http的forms。 希望这听起来是正确的。 另外,我一直在使用Yeoman angular-fullstack生成器,所以我的代码遵循这个结构。 当应用程序加载,虽然在我的控制台,我看到一个500错误代码,然后当我看在日志中,我看到在我的contact.controller阅读和body属性错误。 这是我的代码: app.js … var express = require('express'); — // Setup server var app = express(); var server = require('http').createServer(app); require('./config/express')(app); require('./routes')(app); // Start server server.listen(config.port, config.ip, function () { console.log('Express server listening on %d, in %s mode', config.port, app.get('env')); }); // Expose app exports = module.exports = […]

如何处理ExpressJS中的HTTP升级?

最新的ExpressJS不再inheritance自http.Server。 如果我尝试在upgrade事件上收听,则服务器将以404 Not Found回答。 目前[简体]代码是: app.on('upgrade', function(req, socket, head) { /* … */ }); 如果我尝试在Google上search答案,我只会find与“3.0 – > 4.0 express upgrade ”相关的链接,而不是HTTP 升级 。 编辑: 按照@ jfriend00的要求,我的快速初始化[简体]代码: app = express.createServer(); app.listen(self.port, self.ipaddress);

使用curl -X PUTtestingREST路由,返回404

我正在学习MEAN堆栈,并在thinkster.io上跟随MEAN教程https://thinkster.io/mean-stack-tutorial/ 我在“打开REST路由”部分。 我正在尝试使用curl命令来使用upvote: curl -X PUT http://localhost:3000/posts/55387047f2334d2 c227e8079/upvote 我收到以下错误消息: C:\Users\Michael\Desktop>curl -X PUT http://localhost:3000/posts/55387047f2334d2 c227e8079/upvote <h1>Not Found</h1> <h2>404</h2> <pre>Error: Not Found at app.use.res.render.message (C:\Users\Michael\Desktop\flapper-news\app.js: 39:13) at Layer.handle [as handle_request] (C:\Users\Michael\Desktop\flapper-news\n ode_modules\express\lib\router\layer.js:82:5) at trim_prefix (C:\Users\Michael\Desktop\flapper-news\node_modules\express\l ib\router\index.js:302:13) at C:\Users\Michael\Desktop\flapper-news\node_modules\express\lib\router\ind ex.js:270:7 at Function.proto.process_params (C:\Users\Michael\Desktop\flapper-news\node _modules\express\lib\router\index.js:321:12) at next (C:\Users\Michael\Desktop\flapper-news\node_modules\express\lib\rout er\index.js:261:10) at C:\Users\Michael\Desktop\flapper-news\node_modules\express\lib\router\ind ex.js:603:15 at next (C:\Users\Michael\Desktop\flapper-news\node_modules\express\lib\rout er\index.js:246:14) at Function.proto.handle (C:\Users\Michael\Desktop\flapper-news\node_modules […]

node.js中不同的module.exports模式

让我们假设我们正在用node.js创build简单的应用程序,并表示(Note App)。 我们要组织我们的代码,并把所有控制器放在单独的文件夹中。 所以我们创build一个文件夹并在其中创buildindex.js 。 那么我们添加我们的控制器的js文件到这个文件夹。 然后初始化index.js主入口点的所有控制器,然后在server.js使用require来访问我们的控制器(我不喜欢所有逻辑都粘在它上面的大的,笨重的和混乱的server.js文件!) 所有这些示例代码工作正常,但我不明白这些代码块之间的区别。 1。 module.exports.init = function(app){ console.log("notes controller init."); }; 2。 function init(app){ console.log("notes controller init."); }; module.exports.init = init; 3。 (function (notesController){ notesController.init = function(app){ console.log("notes controller init."); }; })(module.exports); 4。 module.exports = { init: function(app){ console.log("notes controller init."); } } 这些function在性能或加载方面有什么不同,或者JavaScript中有什么神秘的东西,或者只是编码风格的多样性? 谢谢。 PS。 我是后端的C#开发人员,曾经讨厌JavaScript! 但我试图了解这个语言的本质,因为Node.js。 我google了很多关于模块和出口和原型和…在JavaScript中,但无法find答案。

MongoDB私人领域

我有一个产品模型,它有很多领域。 其中一些专用于前端应用程序,例如: var GameSchema = new Schema({ likes: { type: [{ type: Schema.ObjectId, ref: 'User' }] }, likes_count: { type: Number } }); 我不需要Db中的likes_count字段,但控制器只返回模型有的字段,所以我添加了likes_count字段到db模型 exports.some_method = function(req, res){ var game = req.game; game.likes_count = game.likes.length res.json(game); } 有没有办法添加额外的数据到数据库模型时发送请求没有他们在数据库? 请注意,问题不在likes_count字段本身,我有不同的模型,但重点是在数据库模型上有额外的数据。

节点redirect不能在angular度上工作

嗨,我是新的节点,我正在build立一个简单的MEAN堆栈应用程序,以减less我发送像这样的前端文件的代码 app.use(express.static(path.join(__dirname, 'public'))); 我也build立了一个简单的authentication中间件 requireLogin = function (req, res, next) { if (!req.user) { console.log('redirecting :)'); res.redirect('/'); } else { next(); } }; app.use('/rooms',requireLogin); 我试图在angular度上使用这个中间件。 但是这不工作,当我浏览我的angular度的应用程序(它工作时,我直接把url到地址栏)我也删除了/#/这是由angular添加。 $locationProvider.html5Mode({ enabled: true, requireBase: false }); 我正在使用ui路由器进行路由。

使用TypeScript扩展Express Request对象

我试图得到TypeScript和各种指南如何使用node.js的挂钩,并且expression了在将请求对象传递给中间件之前向它们添加属性的讨论。 当然,对于types脚本,这些属性必须被定义,所以我试图在一个名为local.d.ts的文件中这样做: /// <reference path="tsd.d.ts" /> import mySql = require('mysql'); declare module Express { export interface Request { dbPool: mySql.IPool; } } 然后我尝试从我的主代码文件中调用它: /// <reference path="typings/tsd.d.ts" /> /// <reference path="typings/local.d.ts" /> … import express = require('express'); … var pool = mySql.createPool({ user: "username", … }); app.use(function (req, res, next) { req.dbPool = pool; }); 但我得到:“属性'dbPool'不存在types'请求'。” […]

仅在angular度资源请求上缺lessCORS头

我有一个工作节点/后端运行在本地主机上。 我正在构build一个需要从goodreads API中获取数据的项目应用程序。 当我执行请求时,我得到: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.goodreads.com/book/title.json?author=Arthur+Conan+Doyle&key=[my_key]&title=Hound+of+the+Baskervilles. (Reason: CORS header 'Access-Control-Allow-Origin' missing).1 <unknown> 服务器端,一切工作正常。 我已经启用了CORS,当检查标题时,在检查Firefox和Chrome开发工具中的标题后,来自我的服务器的所有内容都可以使用“Access-Control-Allow-Origin”。 当我通过$资源发出请求时,“Allow-Access …”在我的头文件中不存在。 这里是资源的代码: .factory('goodReads', function($resource) { return $resource('https://www.goodreads.com/book/title.json'); }) .controller('AddBookSelectorController', function($resource, goodReads) { this.fetch = function() { var key = '[my_key]'; var data = goodReads.query({author: 'Arthur Conan Doyle', key: […]

如何在Hogan js中使用in for循环

我在节点js中是新的。 我正在使用Express JS和Hogan JS模板引擎。 我知道我们不能在这个模板中使用逻辑,但是我需要在视图代码中为循环语句执行if语句来生成表格字段。 我尝试了很多东西,甚至连我也跟着这个链接。 但是,只有在例如同时给予双方都没有解决scheme的情况下。 我的数据是在这个表格中 [ { buln_id: 1, name: 'Himanshu', cname: 'India', created_date: 'Tue Jul 07 2015', state_name: 'Chandigarh', city_name: 'Chandigarh', locality_name: 'Behlana', office_type_name: 'SCO', office_number: '1234', floor_no: 'ground floor', section: 'a', owner_name: 'RAvi', mob_no: '123456789', email_name: 'aaa@gmail.com', web_name: 'sss.com', landmark: 'sss', bus_info: 'IT', service: 'sss', pay_details: 'Cash', net_surrfing: 'a', verification: […]

Sails js:如何在Sails js的单个模型中定义两个到两个不同数据库的MySQL连接?

我创build了一个模型Employee.js和EmployeeController.js。 我在Employee.js文件中定义了两个连接: module.exports = { connection: 'LocalhostMysqlServer', attributes: { name:{ type:"string", required:true, }, empnum:{ type:"integer", required:true, unique: true }, email:{ type:"string", required:true, unique: true } }, connection: 'LocalhostMysqlServer1', attributes: { username:{ type:"string", required:true, }, usrnum:{ type:"integer", required:true, unique: true }, email:{ type:"string", required:true, unique: true } }, }; 下面是我的EmployeeController.js文件,其中包含两个视图:CreateEmp和CreateUsr,与此模型和控制器关联。 另外,我定义了两个函数来处理来自这些视图的请求。 在这里,我想从CreateEmp插入数据到不同的数据库,并从CreateUsr插入到不同的数据库。 module.exports = { createEmp: […]