Articles of node.js

Google App Engine – Node.js – 未从请求处理程序发送的出站https请求

我在GAE灵活环境中运行节点快递服务器。 我的一个端点路由除了其他的事情外,还应该向某些用户发送推送通知。 我不希望请求用户在继续/获取响应之前等待外部Pushwoosh推送API响应,因此我在初始请求/响应承诺链之外的独立函数中调用下面的代码。 所以,当这段代码发送asynchronous请求到Pushwoosh时,我的用户请求响应承诺链就会自行继续,并且让远程API调用自行完成。 我testing了这个代码在本地运行节点,它工作正常。 当我将这个完全相同的代码部署到GAE时,由于某种原因,Pushwoosh请求永远不会被发送。 我看不到任何响应或错误的console.log。 我已经validation所有的请求数据是正确的。 什么导致这个请求不被发送? 节点版本是6.9.4。 var https = require('https'); var headers = { 'Content-Type': 'application/json; charset=utf-8' }; var options = { host: 'cp.pushwoosh.com', port: 443, path: '/json/1.3/createMessage', method: 'POST', headers: headers }; var message = { request: { application: process.env.PUSHWOOSH_APP_ID, auth: process.env.PUSHWOOSH_REST_API_KEY, notifications: [{ send_date: 'now', ignore_user_timezone: true, content: 'test', […]

在Socket IO中找不到类“CI_Controller”

如何解决这个错误? 目录-application -controller -Rest.php -app.js app.js 'use strict'; var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var phpExpress = require('php-express')({ // assumes php is in your PATH binPath: 'php' }); var path = require('path'); app.set('port',process.env.PORT || 8000); app.set('views','application/controllers'); app.engine('php', phpExpress.engine); app.set('view engine', 'php'); app.use(require('express').static(path.join(__dirname, 'public'))); app.use(require('express').static(path.join(__dirname, 'bower_components'))); app.get('/', function(req, res) { […]

文件之间的NodeJs TypeScript命名空间

我正在使用typescript 2.4.2与节点v6.11.2。 我来自.net世界,并试图了解如何安排我的代码与打字机的节点。 我以这种方式在代码中定义了命名空间: hirarchy: src index.ts —–DataModel —————-Customer.ts —————-Employee.ts 客户类别: Customer.ts : export namespace DataModel { export class Customer { } } 雇员类: Employee.ts export namespace DataModel { export class Employee { } } 在其他文件中使用DataModel命名空间中的类的方法是什么? index.ts是这样的: //import row . DataModels.Employee DataModels.Customer

Youtube API – 通过topicIdsearch在第19页停止

是否有任何理由为什么在19个search请求的topicId /m/019_rrvideo后,API发送一个undefined nextPageToken? 从截图中可以看出,最后一个请求的nextPageToken是undefined并且该请求的结果也被logging下来,表明它有一个空的项目列表。 第一个请求的pageInfo属性说: "pageInfo": { "totalResults": 1000000, "resultsPerPage": 50 }, 所以这意味着肯定有20多个要求。 我使用的请求选项是: { part: 'snippet', maxResults: 50, topicId: '/m/019_rr', pageToken: nextPageToken || '', regionCode: 'US', key: config.googleApiKey } 我也确信这不是一个配额问题。 任何帮助将非常感激。

根据http请求从kafka获取最新消息

我正在使用kafka节点客户端作出restify api,当被调用返回最新的消息作为响应。 我使用下面的代码取得了一些成功。 var consumerOptions = { groupId: 'ExampleTestGroup', fetchMaxWaitMs:500, fromOffset: 'latest' // equivalent of auto.offset.reset valid values are 'none', 'latest', 'earliest' }; consumerStream=new ConsumerStream(client,[{topic:'topic1'},{topic:'topic2'}],{fromOffset:'lates',fecthMaxWaitMs:500}); consumerStream.on('error',(err)=>{ console.log('err',err); }); consumerStream.pipe(Stringify()).pipe(res); setTimeout(()=>{ console.log('100 ms are up'); res.end(); next(); },1000); 如果主题中没有足够的消息并返回响应,则必须使用超时。 这工作正常,但只在第一个请求,因为我假设偏移量是在新的请求到来时提交的,并且不会因此而提取任何消息。

AWS分页listObjects node.js

您好,我目前希望列表中的图像使用分页的商店。 我需要每次显示指定数量的图像,并允许循环停止在我指定的页码上。 (例如,每页30个图像,我需要第3页,我将需要列出图像的第3页)。 到目前为止,它遍历所有的文件,我只需要根据pageCount列出objectsPerPage (GET / list / {storeid}?page = {pageNumber}&per_page = {perPage} var shopId = event.shopkeeper + "/"; var objectsPerPage = event.perPage; var pageCount = event.pageNumber; var params = { Bucket: AWS_Bucket, Delimiter: '/', Prefix: shopId, MaxKeys: objectsPerPage }; var dataContents = []; function s3ListObjects() { s3.listObjects(params, function(err, data) { if (err) { console.log("listS3Objects […]

ng服务:找不到模块'tapable'

我只是将我的Angular 5项目从一台计算机转移到另一台计算机上,而在新设备中,尝试ng serve时出现以下错误: Cannot find module 'tapable' Error: Cannot find module 'tapable' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (c:\xampp\node_modules\webpack\lib\Template.js:7:17) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (c:\xampp\node_modules\webpack\lib\node\NodeMainTemplatePlugin.js:5:16) at Module._compile (module.js:570:32) at […]

如何使用Nodejs SDK从CosmosDB获取附件?

我正在尝试在Nodejs中使用CosmosDB。 我在一个集合中创build了一些文档,并添加了几个附件到一个文档中,如下所示: let dbds = new azure(dbEndpoint, {"masterKey":dbKey}) fs.open("c:/temp/capture.png", "r", (err, fd) => { if(err) console.log(err); else{ dbds.createAttachmentAndUploadMedia(documentLink, fs, {contentType:"image/png", partitionKey: partitionKey}, (err, result) =>{ fs.close(fd); if(err) console.log(err); else console.log(result); } } } 现在当我读到那个文件的附件时,我得到2个附件: dbds.readAttachments(documentLink, {"partitionKey":partitionKey}).toArray((err, result) => { if(err) console.log(err); else { console.log(result.length); //2 result.forEach(i => console.log(i.id);) //id of each attachment } } 现在我需要能够读取文档并将其存储在本地。 […]

如何使用嵌套引用来validationJSON模式

我有一个引用多个模式的JSON模式,使用'$ ref'参数,其模式反过来引用其他模式。 例如。 { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "allOf": [ { "$ref": "xyz.json" } ] } 其中schema xyz.json是: { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "id": { "type": "string", "title": "Identifier"}, "Xid": { "type": "object", "$ref": "pqr.json", "title": "X Identifier"} } } 为了方便起见,我将它们全部放在一个目录中,并尝试使用名为Ajv的库来validation模式,但在编译模式时出现错误: can't resolve reference #/event.json from id 。 我怎样才能validation这样的JSON模式? 我的目标是为所有模式创build一个JavaScript对象模型。 谢谢。

Sequelize TypeError:phone.setUser不是一个函数

我有点失落,并会感谢任何帮助。 我通过我的userPhones表在我的用户表和电话表之间build立了一个M:M关联。 user.js的 module.exports = (sequelize, DataTypes) => { const Users = sequelize.define('Users', { givenName: { type: DataTypes.STRING }, sn: { type: DataTypes.STRING }, mail: { type: DataTypes.STRING }, title: { type: DataTypes.STRING }, department: { type: DataTypes.STRING }, sAMAccountName: { type: DataTypes.STRING, primaryKey: true }, displayName: { type: DataTypes.STRING }, }, { freezeTableName: true, […]