Tag: javascript

express js API中的端点URI

我很困惑用于testing任何API的输出的URI。 例如,我有一段代码使用POST方法将用户写入数据库。 Usercontroller.js router.post('/', function (req, res) { User.create({ name : req.body.name, email : req.body.email, password : req.body.password }, 现在我将这个路由器导出到另一个文件。 var Usercontroller = require('./user/UserController.js'); var users = app.use('/users',UserController); 现在当我开始使用这个URI监听端口8082: http:// localhost:8082 / users时,我得到了预期的结果。 我想在发送到router.post的请求string中进行更改。 我试图改变var users = app.use('/ users',UserController); 但是这不起作用。 任何人都可以解释URI如何在express或node中工作。 我正试图理解这个概念!

testingexpression中间件

我有以下代码来testing: const Status = require('http-status-codes'); const passport = require('passport'); const Users = require('../models/users.js'); const authentication = { // Authenticate User Middleware authenticateUser: function authenticateUser(req, res, next) { return passport.authenticate('bearer', { session: false, failWithError: false }, (err, user, info) => { if (err) { return res.status(500).json({ message: err }); } if (user) { return Users.findOne({ auth_ref: […]

在电子应用程序中保护内容(大数据)

我正在构build一个电子应用程序,它将捆绑大量内容(图像/ HTML /video/audio)约800MB。 我将在我的应用程序中呈现这些内容。 有没有什么办法来保护(encryption)这个内容,这样用户将不能直接(或间接)访问它,而无需启动应用程序? 我可能不得不存储密码和其他一些可以用node-keytar保护的信息,但是为了保证我的800MB内容看起来很难用keytar。 任何build议/帮助表示赞赏。 谢谢!

VSCodedebuggingNode.js与debugging适配器中的ES6未处理的错误

我正在使用Visual Studio代码来debugging用ES6编码的Node.js程序。 我使用babel来编译ES6到ES5,并且一切正常,代码工作正常,当我运行它没有debugging。 说到debugging,出现了一个问题。 有3个文件: index.js import hello from './imported'; import hello2 from './imported2'; const h = hello(); const h2 = hello2() console.log(h); console.log(h2); imported.js function hello() { return 'hello world'; }; export default hello; imported2.js function hello2() { return 'hello world again'; } export default hello2; 这是我的launch.js { "version": "0.2.0", "configurations": [ { "type": […]

Mongk:带有Monk的Mongo数据库:错误捕获和处理,如果数据库closures

我是Mongo的新手。 我需要一个简单的项目的数据库,并结束了使用Mongo和Monk的教程,但我有理解如何处理错误的问题。 背景 :我在客户端有registry单。 当用户点击一个button时,数据通过AJAX发送到控制器(经过validation,但现在不相关),将这些数据插入到数据库中,并返回成功或错误。 当数据库启动似乎一切正常。 问题 :如果我不启动数据库并尝试发送请求,则不会返回错误。 根本没有任何反应 经过一段时间在控制台上,我得到: POST / members / addmember – – ms – – 。 我认为在这种情况下应该返回给用户一些错误,那么我怎么能这样做呢? post请求在下面(几乎和教程一样): // app.js var db = monk('localhost:27017/dbname') […] // I realize it might be not optimal here app.use(function(req,res,next){ req.db = db; next(); }); // members.js router.post('/addmember', function(req, res) { var db = req.db; […]

将Node.js群集应用程序迁移到StrongLoop ProcessManager

我在多个实例上运行Node.js express web应用程序和api使用节点cluster 我的集群启动文件是典型的 'use strict'; (function() { /// node clustering const cluster = require('cluster'); const numCPUs = require('os').cpus().length; var clusterConfig=require('./config/clusterconfig.json'); if (cluster.isMaster) { // master node // process=master console.log(`Master ${process.pid} is running`); // Fork workers. var maxCPUs = clusterConfig.master.workers; maxCPUs=(maxCPUs>=numCPUs)?numCPUs:maxCPUs; for (let i = 0; i < maxCPUs; i++) { const worker=cluster.fork(); } var […]

NodeJS – 在范围之间传递variables

我想对某个API做一个GET请求,并将其响应传递给外部范围的一个方法。 可能吗? var http = require('http'), magic = new Magic(); http.request('www.random.org/integers/?num=1&min=1&max=10&col=1&base=10&format=plain&rnd=new', function(response) { var str = String(); response.on('data', function(chunk) { str += chunk; }); response.on('end', function() { console.log(str); // here // magic.load(str); }); }).end(); // or here // magic.load(str); 响应str应该传递给magic.load() 。 我得到没有错误,但对象没有加载。 我究竟做错了什么?

运行webpack部署configuration时如何解决'window is not defined'?

我试图部署一个反应+服务器应用程序到Heroku。 总体目标是使用Heroku dyno作为通用服务器来提供静态资源,并充当我的React应用程序的API端点。 我正在编写一个部署configuration来缩小和遇到一个错误。 它缩小了,但在node dist/bundle.js它给出了以下错误。 ReferenceError: window is not defined 要使用googlemaps api,我有一个Map组件,它将全局窗口对象上的一个函数设置为initMap() ,在Map组件中定义。 并在一个loadJS()引用window.document两次。 正在开发中,它工作正常。 我使用这个post来帮助使Google地图与React协同工作 我怀疑窗口对象是未定义的,因为没有浏览器提供窗口对象。 你能证实我的怀疑吗? 需要什么来弥补这个问题? 脚本在我的package.json文件中 "scripts": { "start": "npm build && node dist/bundle.js", "dev-start": "babel-node server/buildScripts/server.js", "build":"webpack –config ./webpack.deployment.config.js", "test": "echo \"Error: no test specified\" && exit 1" }, webpack.deployment.config.js const path = require('path'); const webpack = require('webpack'); module.exports […]

MongoDb Node.js查询嵌套对象不工作?

我需要使用mongodb的node.js驱动程序查询2个dynamic属性。 这是数据结构: { "_id":"123456", "dateAdded":"2017-09-20T08:36:40.325Z", "followers":{ "name1":{ "followedOn":"2017-09-20T08:36:40.325Z", "unfollowedOn":null }, "name2":{ "followedOn":"2017-09-20T08:36:40.325Z", "unfollowedOn":null } } } 这是我的代码: //Working but not dynamic collections.find({ '_id': '123456', 'followers.name1': { $exists: false } }) //My failed attempt at making it dynamic const id = "123456" const username = "name1" let query = {} query['followers.'+username] = { $exists: true } […]

testing后closures服务器和数据库连接

我有与mongo连接的koa服务器,并使用supertest模拟服务器和发送请求,作为testing框架。 const app = new Koa() … export default app.listen(PORT, (err) => { if (err) console.log(err) if (!IS_TEST) { console.log(`Server running on port: ${PORT}`) } }) 在成功完成testing或者服务器连接失败之后,koa服务器连接testing结束多久? testing例子: import supertest from 'supertest' import mongoose from 'mongoose' import server from '../../../app/server' import User from '../../../app/models/user' const r = supertest.agent(server.listen()) afterEach(async (done) => { await mongoose.connection.db.dropDatabase() done() […]