Articles of url routing

错误403禁止。 没有访问URL的权限

我正在尝试迁移到Firebase。 但在此之前,我通过执行以下步骤进行了一些尝试。 我已经成功添加并部署了云function,但遇到错误 错误:禁止 您的客户端没有权限从该服务器获取URL / app / lol。 执行以下代码时发生这种情况: const functions = require('firebase-functions'); const express = require('express'); const app = express() // tried adding this as middleware // const cors = require('core'({origin: true})) var admin = require('firebase-admin'); // app.use(cors) var serviceAccount = require("./ServiceAccount.json"); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "https://<my-app>.firebaseio.com/" }); app.get('/lol', (req, res) => { […]

AngularJS路由在html5mode错误

这里是我的前端AngularJS路由: $urlRouterProvider.otherwise('/'); $locationProvider.html5Mode(true).hashPrefix('!'); $stateProvider .state('main', { url: '/', templateUrl: '/views/main.html', controller: 'MainCtrl' }) .state('review', { url: '/review', templateUrl: '/views/review.html', controller: 'NewReviewCtrl' }) .state('model', { url: '/:make/:model', templateUrl: '/views/model.html', controller: 'ModelPageCtrl' }); 这里是我的服务器端路由(node.js): //…some routes app.use('/*', function(req, res){ res.sendFile(config.rootPath + '/public/index.html'); }); 使用/review路线,一切工作正常,但不与/:make/:model : HTML: <a href="" ui-sref="model({make: 'lenovo', model: 'thinkpad-t430'})">See more details…</a> 如果我通过该链接去到这个页面,一切正常,但如果我刷新或直接进入localhost:3030/lenovo/thinkpad-t430我得到这个错误: Uncaught Error: […]

路线在错误的地方查找静态文件

出于某种原因,我有一个特定的path/admins/:id ,它在/public/admins/中查找静态文件,而不是/public/ 。 这会导致404错误,js和css文件不会加载到此页面。 所有其他path在/public/查找静态文件。 自从我开始编写应用程序之后,我从来没有更改过提供静态文件的中间件,因此我不知道错误代码的位置。 例如,当它正在查找/stylesheets/bootstrap.min.css时,它正在查找/admins/stylesheets/bootstrap.min.css 。 app.js var express = require('express'); var stormpath = require('express-stormpath'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); // include routes var mainPage = require('./routes/mainPage'); var admins = require('./routes/admin'); var addAdmin = require('./routes/addAdmin'); var addDev = […]

使用Express和Passport JSredirect节点中的路由

比方说,我有一个路由定义使用快速路由器来呈现付款方式: router.get('/payment', (req, res) => { if (req.user) { res.render('payment', { user: req.user }); } else { res.redirect('/login'); } }); 如果我没有login,那么我应该被带到login页面,当我login时,我想被redirect到付款表单。 我的login会话是使用Passport构build的。 以下是我的POSTlogin路线的样子: router.route('/login').post((req, res, next) => { req.assert('email', 'Please sign up with a valid email.').isEmail(); req.assert('password', 'Password must be at least 4 characters long').len(4); var errors = req.validationErrors(); if (errors) { req.flash('errors', errors); return […]

使用Sequelize和Express进行API路由时出错

我有一个问题,追查为什么我的路由失败。 我是Sequelize和Express路由的新手。 目标 – 访问API端点'/ v1 / agent /:id'时,我想从Sequelize查询返回一个JSON响应。 我已经确认查询起作用,并将一行映射到我的Agent模型。 当我启动应用程序,我得到一个Router.use() requires middleware function but got a ' + gettype(fn)); 来自Node的exception。 来自initializeDb函数的exception,但我不知道为什么。 这里是根index.js: import http from 'http'; import bodyParser from 'body-parser'; import express from 'express'; import sequelize from 'sequelize'; import config from './config'; import routes from './routes'; let app = express(); app.server = http.createServer(app); app.use(bodyParser.json({ […]

如何在Node.js + Express中redirect嵌套的URL

我试着做一个模块,redirect旧的url到Node.JS + Express的新的: app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) – 正常工作。 但是当我们到/category1/subcategory它不会redirect到/category2/subcategory 如何做这个redirect规则就像在Apache的.htaccess中: RewriteRule ^category1/(.*)$ category2/$1 [R,NC,L] 例如 /category1 -> /category2 /category1/ -> /category2/ /category1/2/3/ -> /category2/2/3/ /category1/2/?a=1&b=2 -> /category2/2/?a=1&b=2

在Node中设置基于文件系统的路由

我真的很喜欢PHP提供的简单服务页面,所有的东西都是基于文件系统的。 我想用Node做同样的事情。 我尝试了一个路由设置工作,像这样的意见,但打破了我的公共文件夹: //using express: app.get('*', function(req, res) { file = req.params[0].substr(1, req.params[0].length); console.log('requesting: ' + file); res.render(file, {locals: { req: req, params: req.query }}); }); 所以… 在Node中设置基于文件系统/ php风格路由的最佳方式是什么?

在同一台服务器上运行deployd和angular.js应用程序

我试图在我的AngularJS应用程序所在的服务器上运行deployd API,但deployd似乎与应用程序路由冲突。 我的deployd服务器正在侦听5000端口,如下所示: var deployd = require('deployd'); var server = deployd({ port: process.env.PORT || 5000, env: 'production', db: { host: 'localhost', port: 27017, name: 'deployd', credentials: { username: 'myUsername', password: 'myPassword' } } }); server.listen(); server.on('listening', function() { console.log("Server is listening"); }); server.on('error', function(err) { console.error(err); process.nextTick(function() { // Give the server a chance to […]

REST路由多个文件节点js

我正在尝试使用node js和express来为我的数据库设置一个REST api 。 现在我一直是分而治之的粉丝,因为这样我REST api in node j创build一个REST api in node j时会得到冗余代码和大量服务器文件的烦恼。 以用户表中的CRUD操作为例: // IMPORT ROUTES // ============================================================================= var router = express.Router(); // on routes that end in /users // —————————————————- router.route('/user') // create a user (accessed at POST http://localhost:8080/api/users) .post(function (req, res) { var username = req.body.username; //bodyParser does the magic var password […]

如何保护节点的webkit应用程序的字体?

我想创build一个Node-Webkit应用程序,但避免重新分配字体文件。 我想到了一些方法。 我正在考虑托pipe字体解决scheme使用的模型,其中包含字体文件的临时URL被托pipe。 我有一种方法来encryption字体文件。 您可以将字体转换为base64将其分配给JavaScript库中的一个局部variables与闭包。 JavaScript文件被编译为二进制文件,不能被最终用户读取。 将base64值设置为style属性可能会将该字体作为base64值暴露给DOM。 我想要做的是创build一个临时路由到字体文件,我从私有的base64值呈现,然后删除路由一旦被访问。 我可以看到如何实现这个作为node.js应用程序,但我是新的Node-Webkit,并没有看到路由器上的任何文档。 似乎托pipe字体解决scheme允许一次性访问字体文件,以便用户不能下载文件。 那么Node-Webkit是否有能力执行路由?