“需要升级”(ws包)带有节点的WebSockets

我想简单地使用与Node js的WebSockets。 我告诉你我的代码: 的index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>WebSockets</title> </head> <body> <script type="text/javascript"> const WebSocket = require('ws'); var sock = new WebSocket("ws://localhost:5001",{perMessageDeflate:false}); sock.onopen = function(event){ alert('Socket connected successfully'); setTimeout(function(){ sock.send("Hey !"); },1000); }; sock.onmessage = function(event){ console.log(event); }; </script> </body> </html> index.js var server = require('ws').Server; var s = new server({ port:5001}); 我安装了包“ws”来使用WebSockets。 […]

Sequelize:或者父项where子句和子where子句之间的OR

我有2个模型: const User = sequelize.define('User', { email: { type: DataTypes.STRING, }, password: { type: DataTypes.STRING, }, }); User.associate = (models) => { User.hasOne(models.Profile, { foreignKey: { name: 'user_id', }, }); }; const Profile = sequelize.define('Profile', { name: { type: DataTypes.STRING, }, avatar: { type: DataTypes.STRING, }, }, { tableName: 'profiles', freezeTableName: true, timestamps: false, }); […]

无法将Keycloak与Sails整合。 能够整合Keycloak和Express

Keycloak是一个用Java编写的开源authentication和身份pipe理解决scheme。 它提供了一个nodejs适配器,使用它我可以成功地与express进行集成。 这是工作的路线文件: 'use strict'; module.exports = function(app) { var Keycloak = require('keycloak-connect'); var session = require('express-session'); var memoryStore = new session.MemoryStore(); app.use(session({ secret: 'mySecret', resave: false, saveUninitialized: true, store: memoryStore })); var keycloak = new Keycloak({ store: memoryStore }); app.use(keycloak.middleware({ logout: '/logout', admin: '/' })); // var lRController = require('../controllers/LRController'); // // app.route('/lrs').get(lRController.list_all_lrs).post(lRController.create_a_lr); var […]

Express + MongoDB – req.query的对象

我尝试从MongoDB过滤我的结果。 我正在使用Express。 这是我的console.logs: req.query.filters from URL: http:// localhost:3000 / test?filters =%7Bpersonalbest%3A%7B%27%24gt%27%3A%27170%27%7D%2Cname%3A%7B%27%24gt %27%3A%27M%27%7D%7D 一个由我做的对象来testing它是否适用于我的数据库 {personalbest:{ '$ GT': '170'},名称:{ '$ GT': 'M'}} {personalbest:{'$ gt':'170'},名称:{'$ gt':'M'}} 码: var filters = req.query.filters db.collection('skijumper').find(filters).toArray() 当然,我得到这个错误: MongoError:查询select器必须是一个对象 将这个req.query转换成一个对象的最好方法是什么? 谢谢

Dropbox API – 文件读取和上传node.js

我正在使用dropbox API从node.js文件结构读取文件,然后将该file upload到保pipe箱文件夹中。 文件被上传,但是其上传的文件的大小为0字节 var path = require("path"); var temp_dir = path.join(process.cwd(), 'pdf/'); if (!fs.existsSync(temp_dir)) fs.mkdirSync(temp_dir); fs.readFile(temp_dir + 'report.pdf', function read(err, data) { if (err) { throw err; } fileupload(data); }); file upload代码: function fileupload(name, content) { request.put('https://api-content.dropbox.com/1/files_put/auto/my_reports/report.pdf', { headers: { Authorization: 'TOKEN HERE', 'Content-Type': 'application/pdf' }, body: content }, function optionalCallback(err, httpResponse, bodymsg) { […]

同时完成儿童程序和承诺决议

tl; dr:我写的一个函数创build了几个subprocess,当他们在消息中提交他们的数据时,这个subprocess解决了这个承诺。 虽然函数将所有这些承诺包装在一个Promise中。所有的函数都会突然返回,并且promise也不会解决也不会拒绝,即使所有的过程都完成了没有错误。 任何想法为什么发生这种情况? 为了加速数据收集过程,我有一个父进程获取一些input数据(在SQL数据库中查询的date是准确的),并将它发送给大小相等的一些subprocess,等待subprocess完成处理他们的数据通过包装他们的结果在一个大的承诺。 虽然这适用于较小的数据集,但对于较大的数据集,父承诺只会返回到命令行 – 既不解决也不拒绝,甚至不能继续执行function。 看了几个日志之后,似乎所有的subprocess都正确地处理并发送了他们的数据,但是父进程并没有收到less数几个进程的结果。 错过的消息发生在数据处理结束的附近(当几个subprocess在大约同一时间完成并发送消息时) 缩写代码: // main function function createArray(i,j) // returns an array of i empty arrays, each of length j function chunkify(a, n, balanced) // divides array a into n chunks (balancing them in size if true) returning an array of chunks function kidcollector(snaptimes,course) { var done […]

Express(NodeJS)无法处理从Xamarin Android应用程序发布

我有几个设备与本地服务器上的Express应用程序进行交互。 对于原型演示的目的,我试图尽可能简单。 在许多其他事情中,我的本地服务器与图像进行交互,并在/ uploads文件夹中映像数据: (Express / NodeJS代码): app.route('/uploads') //Send File to Android .get( function (req, res) { var images = fs.readdirSync('./uploads'); console.log(images[images.length-1]); var imgpath = path.resolve('./uploads/' + images[images.length-1]); res.sendFile(imgpath); //res.end('Image List Sent') }) //Receive image chip data from Android .post( function (req, res) { Console.log("insideit"); Console.log(req.body); res.end('got something?') }); 此服务器代码正在接收来自C#Android代码的请求。 GET命令完美工作,所以我将省略Xamarin / C#代码。 从Android应用程序的POST命令是(在C#/ Xamarin): […]

节点读取模块/读取代码文件

你如何从文件中读取类? 的.src /我-a.service.ts export class MyAService { … } 的.src /我-b.service.ts export class MyBService { … } ./read-modules.js const fs = require('fs'); const _ = require('lodash'); let files = fs.readdirSync('./src') .filter(item => { return _.includes(item, '.service.ts') }); files.forEach(item => { // get ['MyAService', 'MyBService'] }); 我知道你可以做一些stringparsing,但有一个高层次的方式来读取从文件(不导入代码,只是获得导出的类的名称)的JS / TS导出。 编辑1:有* X.service.ts文件my-a.service.ts和my-b.service.ts只是例子。 我不是试图导入或要求这些类在代码中使用它们只是获取代码生成的类名称。 编辑2:我看起来像tsreflect-compiler是我所需要的: const fs = […]

Node.js产生:如何检查进程立即退出

在我的应用程序中,我需要产生一个debugging程序进程给予一个转储文件进行debugging,说“example.dmp”。 如果找不到转储文件,则不是转储文件。 该过程将成功产生,但会立即退出。 我想在asynchronous函数中抛出一个错误消息,稍后可以尝试捕获。 const spawnDebuggerProcess = (debuggerConfigs) => { let debuggerProcess = spawn(config.debuggerName, debuggerConfigs) debuggerProcess.on('exit', (code, signal) => { console.log('pid ' + `${debuggerProcess.pid}`) console.log('child process exited with ' + `code ${code} and signal ${signal}`) }) debuggerProcess.on('error', (error) => {}) if (debuggerProcess.pid !== undefined) { return debuggerProcess } throw externalError.createError({ name: externalError.SPAWN_DEBUGGER_PROCESS_ERROR, description: 'Failed to […]

调用代码接连完成node.js

我的Node.js项目有问题。 我有一些代码,通过JSON的整个列表,并打印“1” ,也有一些代码是使用API​​和打印“2”。 现在程序打印: 2 1 我想要打印的程序: 1 2 我的代码: //include libraries const apigClientFactory = require('aws-api-gateway-client'); const tabletojson = require('tabletojson'); const Promise = require('promise'); //Global variables const url = '****'; var jsonOutput = {}; //////////////////////1///////////////////////// //Convert Html tables to Json object tabletojson.convertUrl(url, function(tablesAsJson) { var exchangeJson = tablesAsJson[0]; console.log("1"); var j = 0; for(var i […]