Tag: 表示

无法使用webpack dev服务器中间件加载图像

所以我花了24小时来调整我的代码,试图让这个工作和searchSO和谷歌,但没有运气 – 也许有人可以帮助! 我的React应用程序在Express上运行,但是使用webpack-dev-server中间件。 当我加载页面时,图像是空白的,就好像它们不存在一样。 我没有得到任何错误信息在我的控制台(例如没有404错误),但图像元素只是显示alt文本,并没有显示实际应该在那里的png或svg 。 顺便说一句,这不仅仅是反应组件不能渲染图像 – 我试图将一个图像文件硬编码到我的index.html文件中作为测​​试,这产生了相同的结果。 这是我的代码: server.js(截断以排除数据库设置和额外的快速路由) const express = require('express'); const webpack = require('webpack'); const webpackDevMiddleware = require('webpack-dev-middleware'); const webpackHotMiddleware = require('webpack-hot-middleware'); const path = require('path'); const mongoose = require('mongoose'); const config = require('./webpack.dev.config'); // SERVER SETUP const app = express(); const router = express.Router(); var publicPath = path.resolve(__dirname, […]

运行两个MongoDB实例

我正在使用MERN堆栈开发一个高度I / O密集型应用程序(基于可用性的select)。 该应用程序预计将获得2000个并发用户。 我想知道使用MongoDB的两个实例是明智的,一个在RAM上(在内存中),另一个在硬盘上。 一个用来存储可用座位的RAM。 而硬盘驱动器则定期备份数据。 但同时我知道,如果服务器崩溃我的MongoDB数据在RAM上丢失。 任何人都可以引导我吗? 我使用的是Socket IO而不是AJAX …

从承诺中返回数据到中间件

我是新的nodejs,这可能看起来很平凡,但我从检索返回承诺的函数的数据时遇到问题。 中间件的响应被发送回前端。 这是我的代码 // middleware app.get('/player', function(req, res) { //data i want to return res.send(getPlayerStats.getPlayerId(req.query.name))); }); //getPlayerStats.js var getPlayerId = function(name) { return start(name) .then(getPlayerInGame) .then(getPlayerStats) .then(getPlayers); //.then(sendToSingular) } //getplayers function var getPlayers = function(data) { return data; } 我是以错误的方式发回数据? 我在前端看到的回应是一个具有原型作为唯一属性的对象。 我可以打印出getPlayers()中的数据,我发现它工作正常。

Express.js中间件extra(第四个)参数

在Express.js中间件的可选参数上 ,除了是一个error handling中间件之外,可能还有第四个参数 ,所以我有一个用例。 这可能是通过不同的方式来实现的,但无论如何。 我想要检查一些api路由权限,我希望写入的中间件应该为请求用户查找他/她有多less信誉点(整数)的数据库。 我定义了一个对象来保存作为关键值对需要的权限和信誉点。 之后,中间件应该查找这个特权对象来查看用户是否具有大于或等于相应操作的信誉点。 我想传递这个相应的动作名称作为每个路由的不同string在特权对象中的一个键。 这可以通过发送stringactionName通过请求到路由来实现,但是我发现它不太安全(请求中的数据可能被篡改为具有恶意用户可以访问的操作名称并且为其他所需的数据字段但不允许采取行动)。 所有的情况都和SE一样。 顺便说一下,显然我也需要基于路由的(不是基于路由器的)中间件安装,我不确定Express.js是否支持,但这是另一回事。 也许可以描述和问这个用例, 我可以用我的参数来参数化一个中间件函数,而不仅仅是传入的req和res对象吗? 我如何用Express.js中间件实现这个用例? 或者我应该使用另一种机制? /// Privilege Check middleware // used per route with corresponding actionName // signature function (request, response, next, actionNameOneOfKeysInPrevilegesObject::String) var privilegeCheck = function (req, res, next, actionName) { db.one( ` SELECT reputation FROM users WHERE id = $(id) `, {id: […]

在快速应用程序中获取错误“bodyParser.json不是一个函数”

我是nodejs的新手。 当快递试验时,我卡住了。 我只是想testing我的应用程序。 运行server.js文件时出现错误。 我错过了什么? 这是什么控制台看起来像… C:\Users\rupindersingh\Dropbox\Works\worthlessmongo>node server.js C:\Users\rupindersingh\Dropbox\Works\worthlessmongo\server.js:12 app.use(bodyParser.json()); ^ TypeError: bodyParser.json is not a function at Object.<anonymous> (C:\Users\rupindersingh\Dropbox\Works\worthlessmongo\server.js:12:20) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:974:3 这是pakage.json文件 { "name": "worthlessmongo", "version": "1.0.0", "description": "Just Tryin", "main": "server.js", "scripts": { "test": "echo […]

Express JS路由器有时会返回404,有时会返回200

我使用angular2和expressionjs。 所以对于不是CSS的所有请求,图像,js,video我发送index.html文件。 我的路由器代码: router.get(/\/(?!((.*\.html$)|(.*\.css$)|(.*\.mp4)|(.*\.woff)|(.*\.js$)|(.*\.map$)|(.*\.jpg$)|(.*\.jpeg$)|(.*\.png$)|(.*\.gif$))).+$/gmi, ensureConnect.ensureLoggedIn({ redirectTo: '/' }), function(req, res) { res .set('Content-Type', 'text/html') .sendFile(../dist/index.html); }); 对于根路由器'/'它是完美的,但如果我尝试打开另一个页面(例如'/ product / am-0596157134' )它有时会打开页面,但有时会返回404( 不能GET / product / am-0596157134 ) 所以我试图重新加载页面两次,第一次重新加载它返回404和第二次 – 它返回200.这里是日志: :: ffff:127.0.0.1 – – [10 / Nov / 2016:11:46:24 +0000]“GET / product / am-0596157134 HTTP / 1.1”404 34“ – ”“Mozilla / 5.0(Macintosh; Intel Mac OS […]

明确的路线分离

为了防止在我的routes.js文件中有一个长长的路由列表,我已经将routes.js移动到一个简单的叫做routes的文件夹中,并将这个文件重命名为index.js。 我想创build多个其他文件,为不同的类别定义路线。 以下是我认为需要编写的代码才能实现的: // index.js var express= require('express'); var app = express(); var passport = require('passport'); app.use('/api/auth', require('./auth.routes')(passport)); … 我需要auth路由,所以现在我可以像这样使用它们: // auth.routes.js var router = require('express').Router(); module.exports = function(app, passport) { router.post('/login', function(req, res) { … }); router.get('/me', function(req, res) { … }); … return router; }; 当我这样做, require('express').Router()是未定义的,我不知道为什么。 什么是分开这些路线的正确方法?

如何运行nodejs应用程序作为永远或新贵的服务?

我正在运行我的应用程序如下 NODE_ENV=production node_modules/.bin/babel-node –presets 'react,es2015' src/server.js 如何把它作为永远或新贵的服务来运行?

Mongoose TypeError:用户不是一个构造函数

我试图添加一个子文档与Mongoose和MongoDB的父架构,但是我被引发以下错误: TypeError: User is not a constructor 这是基于Mongoose关于子文档的文档 ,我认为一切都是一样的。 我怎样才能进一步debugging呢? 路由器 // Add a destination to the DB router.post('/add', function(req, res, next) { let airport = req.body.destination let month = req.body.month let id = (req.user.id) User.findById(id , function (err, User) { if (err) return handleError(err) function addToCart (airport, month, id) { var user = new […]

Nodejs和/或PHP移动检测

有没有一个好的,可靠的库或者方法,或者什么,可以检测出请求是否来自移动环境? 我发现了一些软件包,但似乎没有正常工作。 我正在寻找一个基本的/简单的,能够检测到这一点:isMobile; isDesktop。 需要可靠,最新和工作。 如果没有空闲的话,即使是付费解决scheme也是可以接受的。 我不是在寻找100%的检测,但我期望最stream行的设备被发现没有问题。 我正在寻找一个nodejs(express)解决scheme,和/或一个PHP的。