函数中的Mongoose查询承诺让代码变得丑陋

我正在创build我的用户API,我想检查用户名是否被使用。 所以我写了一个静态函数 static findByName(name) { const query = User.where({ username: name, }); query.findOne((queryErr, user) => { if (queryErr) { console.log(queryErr); return false; } return user; }); } 当我在signUp中调用它 signup(req, res) { if (!req.body.username || !req.body.password || !req.body.email) { return res.status(400).json({ success: false, message: 'Bad Request' }); } if (!Users.findByName(req.body.username)) { return res.status(409).json({ success: false, message: […]

围绕循环依赖工作

我尝试了第一次sequelize ,我有一点麻烦让我的数据库模型的工作。 sequelize.sync()失败, Error: Circular Dependency Instruction -> Result => Instruction 这是有道理的,因为我的模型是循环的: const Instruction = db.define('instruction', { id: { type: Sequelize.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true, }, /* more keys here */ }); //each instruction results in one or more results const Result = db.define('result', { id: { type: Sequelize.INTEGER, allowNull: false, primaryKey: true, […]

Node.Js部分数据

我想在我的Node.Js应用程序的所有视图中都可以访问一些默认数据。 我的数据需要在/views/layout/header.ejs └── views ├── index.ejs └── layout ├── footer.ejs └── header.ejs

反应本机变换错误

以前有反应,本地运行良好,不记得改变任何东西,然后这个已经certificate不可能清除的错误。 环境Windows 10 react-native-cli:2.0.1 react-native:0.47.1节点v6.11.2 在卸载以前的版本之后全新安装node.js,并从path中删除所有节点和npm目录。 按照https://facebook.github.io/react-native/docs/getting-started.html的新鲜安装react-native react-native init AwesomeProject cd AwesomeProject react-native run-android 也试过了 npm我-g react-native-git-upgrade 反应母语-混帐升级 重新启动,新build项目,卸载节点,重新安装节点,重新安装react-native,新项目。 还是一样的问题。 重复与react-native-git-upgrade v0.47.0想知道是否应该尝试降级到早期版本。 奇怪的是,这是2天前在8-9天前下载并安装的react-native版本。 反复得到同样的错误如下。 在这个上失去了太多的时间。 真的很痛。 开发服务器返回响应错误代码:500 url: http : //10.0.2.2 : 8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false Body:{“message”:“TransformError:D:\ blah \ AwesomeProject \ index.android.js:Unexpected token)(处理预设:\”D:\\ blah \\ AwesomeProject \\ node_modules \\ babel-preset-反应天然\\ index.js \ “)”, “types”: “TransformError”, “LINENUMBER”:0, “说明”: “”, […]

控制通过nodejs请求模块传输的数据的速率

我试图达到以下目的:build立一个模块,允许分段下载多个文件,但也允许控制带宽/数据速率。 我正在触发一个文件的多个请求实例,并在头文件中传递“范围”来下载段,但是这是通过nodejs实现的正确方法? 我整个星期的大部分search都指向第二个问题,但是我认为这是控制数据写入的速度,而不是数据下载的速度。 所以简而言之,它是可能的,即 request(url).on('data', function(chunk){ // control the rate at which data is triggered/size of chunk downloaded per second }); 我也检查了nodejs的原始http模块,但是无法find任何想要达到的内容。 我正在努力工作,如 request({ url: url, rate: myRate // ie 5000 kbps, }).on('data', function(chunk){ // process chunk here // chunk will never be above 5000 kbps and triggers chunks of 5000 per second }) 编辑 […]

在沙箱中的服务器上运行不受信任的JavaScript代码

我似乎无法弄清楚如何设置节点沙箱,它可以安全地运行不受信任的代码,并允许用户通过api调用 (sys进出) 与程序进行交互 。 我试图在浏览器中设置一个控制台,让用户从服务器上运行自己的代码。 有没有支持这个节点的软件包,还是我需要编写自己的节点虚拟机? 谢谢。 编辑:我希望用户能够写入readline()并让程序在断点处等待传入的数据。同样, console.log()的输出应该redirect到inputAPI调用的响应。

表示中间件被叫两次

在app.js我做的 const { authMiddleware } = require('./utils/authMiddleware') var app = express(); app.use('/api', authMiddleware, require('./routes/upload-image')) app.use('/api', require('./routes/user')) app.use('/api', authMiddleware, require('./routes/task')) app.use('/api', authMiddleware, require('./routes/credit')) 我有一个简单的console.log authMiddleware.js module.exports.authMiddleware = function(req, res, next) { //res.body.user_id = ) console.log('get logged in user then set user id to body') next() } post image端点就像这个routes / upload-image.js const express = require('express'); const router […]

无服务器框架中的webpackconfiguration中的多个入口点

我正在开发使用无服务器框架的无服务器应用程序。 我需要webpack编译根文件夹内的.js文件以及'src'文件夹。 configuration文件和“src”文件夹就在根文件夹中。 这是webpack.config.js文件 var glob = require('glob'); var path = require('path'); var nodeExternals = require('webpack-node-externals'); // Required for Create React App Babel transform process.env.NODE_ENV = 'production'; module.exports = { // Use all js files in project root (except // the webpack config) as an entry entry: globEntries('!(webpack.config).js'), target: 'node', // Since 'aws-sdk' is not […]

使用Node.js从邮递员发送数据时出错

发送postman的请求时出现以下错误,我使用Node.js作为后端。 错误: POST /api/users/save-card-details 400 31.719 ms – 871 SyntaxError: Unexpected token – at parse (/opt/lampp/htdocs/heroku/FGDP/node_modules/body-parser/lib/types/json.js:83:15) at /opt/lampp/htdocs/heroku/FGDP/node_modules/body-parser/lib/read.js:116:18 at invokeCallback (/opt/lampp/htdocs/heroku/FGDP/node_modules/raw-body/index.js:262:16) at done (/opt/lampp/htdocs/heroku/FGDP/node_modules/raw-body/index.js:251:7) at IncomingMessage.onEnd (/opt/lampp/htdocs/heroku/FGDP/node_modules/raw-body/index.js:307:7) at emitNone (events.js:86:13) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9) 我在下面解释我的代码。 server.js: var express=require('express'); var morgan = require('morgan'); var http=require('http'); var bodyParser= require('body-parser'); […]

护照本地的一个node.js应用程序与多个路线文件

我已经成功地遵循这个教程,并做了我的基于Node.js的应用程序。 现在我想添加护照本地支持login一些特定的路线。 我发现关于使用Passport的每个教程都只适用于只有一个path文件的应用程序。 但我有我的路线在多个文件(在app.js ): var index = require('./routes/index'); var config = require('./routes/config'); var about = require('./routes/about'); var run = require('./routes/run'); var device = require('./routes/device'); var user = require('./routes/user'); 例如在routes / config.js中 : router.get('/', server_controller.index); router.get('/server/create', server_controller.server_create_get); router.post('/server/create', server_controller.server_create_post); router.get('/server/:id/delete', server_controller.server_delete_get); router.post('/server/:id/delete', server_controller.server_delete_post); 在routes / device.js中,我们有需要login的路由: router.get('/', device_controller.index); router.get('/change-ip', device_controller.device_edit_ip_get); router.post('/change-ip', device_controller.device_edit_ip_post); 那么我应该如何在这些不同的path文件中使用护照本地中间件? 更新 :在routes […]