Tag: 表示

Nodejs – 使电子邮件模板dynamic

我正在开发项目在平均堆栈中,我需要在我的应用程序发送很多电子邮件。 我已经将电子邮件模板作为单独的所有电子邮件模板,但我想在电子邮件模板中制作通用的页眉和页脚。 Route.js router .route('/api/user/register') .post( //for get email template var fs = require("fs"); var message = fs.readFileSync(basePath + "app/client/views/layout/registerEmailTemplate.html").toString(); ……. ); router .route('/api/user/forgotpassword') .post( //for get email template var fs = require("fs"); var message = fs.readFileSync(basePath + "app/client/views/layout/resetPasswordEmailTemplate.html").toString(); ……. ); router .route('/api/user/accountActivation') .post( //for get email template var fs = require("fs"); var message = […]

无法在视图目录中查找视图“索引”

我正在学习node.js。 我有以下代码。 var express = require('express'); var app = express(); var port = process.env.PORT || 5000; app.use(express.static('public')); app.use(express.static('src/views')); app.set('view engine', 'ejs'); app.get('/', function(req, res) { res.render('index', { title: 'Hello from render', nav: ['Books', 'Author'] }); }); 无法在视图目录中查找视图“索引”我有名为index.ejs的文件。 我怎样才能摆脱这个错误?

Angularjs不使用Facebookauthentication策略拦截nodejs服务器提供的令牌

我是新的nodejs / angularjs和工作在我的第一个简单的Web应用程序。 我正在使用Passport和Node.js的Facebook身份validation策略。 成功的身份validation后,我想将jwt令牌返回给客户端的Angular应用程序。 我的服务器代码如下所示: app.get('/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect : '/', session: false }), function(req, res){ res.set("x-access-token", req.user.JWTtoken); res.redirect("/#/main"); } ); 我的客户端应用程序试图拦截响应以获取上面提供的jwt令牌。 $httpProvider.interceptors.push(function($q) { return { 'request': function(config) { return config; }, 'response': function(response) { console.log(response.headers('x-access-token')); return response; } }; }); 通过testing这个场景,我看不到响应头中的JWT标记。 有任何想法吗 ?

为什么在MEAN应用程序的每个请求中授权头返回undefined

我使用JWT实现了身份validation。 在每个请求中,我想访问授权令牌,但是当我尝试访问它时总是返回undefined。 我的情况是,我存储了存储在本地存储中的身份validation令牌,当授权令牌可用时,它考虑已authentication的用户,并允许访问URL以及何时令牌不可用。 所以我使用angular拦截器在每个请求中添加授权标头。 它确实添加了每个请求,但我无法从服务器端获得。 在每个请求中,我传递授权标题,但它总是返回undefined作为输出。 请查看我的代码并提供指导。 app.route.js [AngularJS] (function () { function authInterceptor($window) { return{ request: function (config) { if ($window.localStorage['hz-token']) { config.headers.Authorization = 'Bearer ' + $window.localStorage['hz-token']; } return config; } } } /* * Default Route of application * @param {$stateProvider} Object * @param {$routeProvider} Object * @return */ function config($stateProvider, $urlRouterProvider, […]

Angularjs CORS与Node,Express,Oauth2和Passport有关

最近我们决定把我们的前端从EJS切换到Angular将前端和后端完全分开。 这样做,我们开始在多个浏览器中遇到几个问题。 在后端,我们使用快递的节点与护照和oauth2。 对于前端我们正在尝试使用angular度。 EJS使用express.render工作,但我们更愿意直接使用express作为RESTful API。 我在localhost:8080和localhost:3000本地运行后端和前端。 当只使用后端(使用EJS,而不是angular度),我可以成功地去浏览器的后端端口,通过passport-oauthlogin,并redirect到帐户页面(从供应商login屏幕),我的JSON数据通过res.json呈现。 问题是我无法从移除EJS后从前端用户界面。 我已经试过configurationCORS十几种不同的方式,而使用三种不同的浏览器,没有运气。 以下三个片段是我在浏览器控制台中通过$ http和$ resource从前端访问localhost:8080时出现的错误(请参阅下面的代码)。 三个代码片段下面的图片是节点控制台告诉我,当试图从每个不同的浏览器访问端口8080 … 铬: XMLHttpRequest cannot load 'PROVIDER-DETAILS-URL'. No 'Access-Control-Allow- Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 火狐: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at 'PROVIDER-DETAILS-URL'. (Reason: CORS header […]

如何处理与瓦格纳的快速路线callback

当我添加这部分的代码︰return return function(req, res) {它不工作,因为它应该…我认为这个代码,我试图控制台日志,但我没有得到回报…如果我把控制台日志上面返回我在控制台中得到消息…这意味着这是代码的一部分的一些问题,但我不知道… …任何人都知道什么是问题? 我正在使用:express:4.13.4 var express = require("express"); var status = require("http-status"); module.exports = function(wagner) { var api = express.Router(); api.get("/category/id/:id", wagner.invoke(function(Category) { return function(req, res) { console.log("HERE"); Category.findOne({_id: req.param.id}, function(error, category) { if(error) { return res .status(status.INTERNAL_SERVER_ERROR) .json({error: error.toString()}); } if(!category) { return res .status(status.NOT_FOUND) .json({error: "Not found"}); } res.json({category: category}); […]

express-ws和socket.io获得404连接

我正在尝试构build一个使用Web套接字与NodeJS中的服务器进行讨论的网页。 对于客户来说,没有什么奇特的: var socket = io.connect('http://localhost:8081'); 对于服务器,我使用“快速”(因为我想有一个/login路线),但我有一些麻烦。 事实上,当我尝试连接上面的行时,我得到一个404“ http:// localhost:8081 / socket.io /?EIO = 3&transport = polling&t = LGRAhbD ”。 尽pipe我使用“express-ws”,但我认为“express”并不知道路由。 这是我的代码: var express = require("express"); var app = express(); var http = require("http").Server(app); var expressWs = require('express-ws')(app); var jwt = require("jsonwebtoken"); var socketJwt = require('socketio-jwt'); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "http://localhost:8080"); res.header('Access-Control-Allow-Credentials', true); next(); […]

nodejs会话在本地工作,但不在远程服务器上

我无法使用passort.js和express.js进行注册和login,在本地这工作得很好,但是当我在远程服务器上部署应用程序时,login后login无法redirect。 它甚至不会刷新失败消息。 我还注意到,当我在远程服务器上注册时,它工作正常,但不闪烁的消息。 req.isAuthenticated()总是返回false。 我正在使用MongoDB作为我的数据源 app.use(session({secret : '3T67774A-R649-4D44-9735-43E296ZZ980F', saveUninitialized: true, resave: true})); app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()); // use connect-flash for flash messages stored in session function isLoggedIn(req, res, next) { console.log("Request Authenticated: " + req.isAuthenticated()); if (req.isAuthenticated()) return next(); res.redirect('/login'); } passport.use('local-login', new LocalStrategy({ // by default, local strategy uses username and […]

Expressjs静态文件无法正常工作

我的控制器 exports.index = function(req, res){ var info = {title: 'Index'}; res.render('index' , info); }; exports.about = function(req, res){ var info = {title: 'about'}; res.render('about' , info); }; exports.post = function(req, res){ var info = {title: 'Post'}; res.render('post' , info); }; 我的路线。 var controller = require('../controllers/controller'); var router = require('express').Router(); router.route('/').get(controller.index) router.route('/posts/:slug').get(controller.post) router.route('/about').get(controller.about); module.exports = router; […]

EJS,Express,Node – 无法加载js或css

我正在尝试使用EJS,Node和Express(这三者都是新的)。 这是我的ejs文件,我的app.js文件和目录结构。 你能帮我理解如何正确设置东西吗? 提前致谢。 ejs文件: <html> <head> <script href="/javascripts/main.js"></script> <link rel="stylesheer" href="/stylesheets/style.css" /> </head> <body> test </body> </html> app.js: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); […]