Tag: node.js

节点JStesting – 模拟file upload

我正在使用node-mocks-http来testing我的API,并且在模拟file upload时遇到了问题。 这是我的尝试: var response = buildResponse() var request = http_mocks.createRequest({ method: 'POST', url : '/test', headers: { 'Content-Type' : 'multipart/form-data;', 'Transfer-Encoding': 'identity' }, files: { project: fs.createReadStream('tests/fixtures/test.json') } }) response.on('end', function() { response._getData().should.equal('finished'); done(); }) app.handle(request, response) 任何想法为什么这不会导致适当的file upload? 至less,express-fileupload模块没有看到它。 非常感谢。

npm start不适用于Gulp js上的React应用程序

希望大家做得很好! 我已经开始在使用节点模块的Gulp环境上运行React.js App。 运行项目命令是npm start或gulp watch 。 在那些npm start中会触发gulp watch,所以当我用npm start的时候得到某种节点模块的错误。 如果我使用gulp手表没有得到低于错误。 命令提示错误 C:\Users\ryangyeswar\Documents\Interserv>npm start 'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules \npm\bin\npm-cli.js" prefix -g' is not recognized as an internal or external com mand, operable program or batch file. > react-starterify@0.0.4 start C:\Users\ryangyeswar\Documents\Interserv > gulp watch npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program […]

pipe理和网站在React Js的目录架构

我有反应JS的网站。 我目前的目录结构是 view -> partials | includes | components -> all this folder includes jsx files vendors -> js and css files node_modules model -> db connection files assets -> images | fonts config -> some json config files webpack.config.js package.json main.jsx index.html 现在我需要在上面的项目下实现pipe理面板。 我不知道如何在单一服务中维护pipe理面板和网站的架构。 是否需要为pipe理员维护不同的目录和服务,或者我可以在上面列出的目录中的同一项目中同时执行pipe理员和网站吗?

新的实例与标准函数内存使用socket.io事件

我使用typescript和socket.io。 标准解决scheme如下所示: socket.on('event', (msg: any, cb:Function) => self.eventFn(msg, cb)); 由于许多asynchronous调用堆栈(300 – 600行,8 – 10深度),事件的function太长和深。 为了解决这个烦人的代码devise,我开始考虑使用类而不是像这样的函数: socket.on('event', (msg: any, cb:Function) => new EventClass(msg, cb)); 在这种情况下,我可以将进程的一部分分成小单元,我猜可能代码重用性也更好。 这看起来不错,但是,我担心这是使用更多的内存,因为我在每个套接字事件上创build一个新的实例,也许它也使用更多的CPU。 所以,问题是:我的恐惧是否合法?

如何解决以下浏览错误?

我是新来的使用gulp和browserify。 我正在尝试使用browserify和gulp在线教程。 以下是我的package.json { "name": "progressive", "version": "1.0.0", "description": "Practcing a Progressive Web App", "scripts": { "start": "node ./index.js" }, "author": "Indu Pillai", "devDependencies": { "browserify": "^13.1.0", "gulp": "^3.8.8", "gulp-browserify": "^0.5.1", "gulp-clean-css": "^2.0.13", "gulp-concat-css": "^2.3.0", "gulp-if": "^2.0.1", "gulp-sourcemaps": "^2.2.0", "gulp-uglify": "^2.0.0", "gulp-util": "^2.2.20", "gulp-webserver": "^0.8.8", "jquery": "^3.1.1", "sw-precache": "^4.2.1" }, "dependencies": { "handlebars": "^4.0.5" } […]

实施oauthlogin到salesforce应用程序,但刷新令牌未定义

我正在使用node.js处理AWS Lambda。 我正在使用node-salesforce使用OAuth连接到SF应用程序。 login后我无法获取刷新令牌。 var conn = new sf.Connection({ oauth2 : { clientId : 'XXXXXXXXXXXXXXXXXXXXXXXXXXX', clientSecret : 'XXXXXXXXXXXXXXXX', redirectUri : 'https://localhost/callback' } }); conn.login('Username', 'XXXXXXXXX', function(err, userInfo) { if (err) { return console.error(err); } console.log(userInfo); console.log(conn); }); 在输出中我期待一个未定义的刷新令牌。 我能够得到accessToken,我正在使用它进行进一步的操作。 现在如何更改访问令牌的情况下更改访问令牌。 我已经通过它的文档( https://www.npmjs.com/package/node-salesforce )。 他们使用express.js和redirect到salesforce页面进行授权。 由于这是写在lambda中,所以我不会喜欢在这里使用express.js或redirect授权。 我的问题是如何获得刷新令牌。 有没有办法做到这一点。 如果我做错了,请告诉我。

如何检索Mongoose中的子文档

我的数据库中有mongo集合: [ { "_id": "59955bb0cd522a00bcaab08c", "lang": "en", "__v": 0, "message_subsets": [ { "identifier": "errors", "_id": "59955bb0cd522a00bcaab08d", "messages": [ { "identifier": "invalid", "message_text": "$FIELD$ is invalid", "_id": "59955bb0cd522a00bcaab091" }, { "identifier": "empty", "message_text": "$FIELD$ is required", "_id": "59955bb0cd522a00bcaab090" } ] } ] }, { "_id": "59955bb0cd522a00bcaab08c", "lang": "ru", … ] 这是由这种mongoose模式构build的: const MessageSchema = new mongoose.Schema({ […]

如何从图像url获取图像作为图像文件对象?

for(let k = 0; k < propertyDetailResponse.images.length; k++) { let ImgFile = new File(["image"], propertyDetailResponse.images[k].image); this.state.gallery.image_ids.push(ImgFile) } 这是我的代码。 propertyDetailResponse.images[k].image包含图片url。 我需要ImgFile作为图像文件对象,因为我们正在上传图像文件

Socket.IO,SSL问题与cloudflare

我有一个socket.io应用程序,基本上从前端接收信号,以杀死和启动一个新的ffmpeg进程(基于.spawn())。 一切都像预期的那样工作,但是我经常从cloudflare中得到一个525错误。 错误消息是:Cloudflare无法build立与原始服务器的SSL连接。 它的工作原理是10次中的9次。我注意到,只要kill + spawn完成,就会出现更多的这些错误。 难道是事件阻塞事件循环,并因为这阻止所有传入的请求和cloudflarelogging这些握手失败错误? 联系cloudflare支持让我回到这个信息(这是他们对我的服务器的要求): Time id host message upstream 2017-08-16T09:14:24.000Z 38f34880faf04433 xxxxxx.com:2096 peer closed connection in SSL handshake while SSL handshaking to upstream https://xxx.xxx.xxx.xxx:2096/socket.io/?EIO=3&transport=polling&t=LtgKens 我现在正在debugging一段时间,但似乎无法自己find解决scheme。 这是我如何初始化我的socketIO服务器。 /** * Start the socket server */ var startSocketIO = function() { var ssl_options = { key: fs.readFileSync(sslConfig.keyFile, 'utf8'), cert: fs.readFileSync(sslConfig.certificateFile, 'utf8') }; self.app = […]

Mongoose从嵌套数组中移除整个对象

我正在使用mongoose4.11.3。 我试图从嵌套数组中删除一个对象。 这是我的模式 var VendorSchema = new Schema({ _id: { type: Schema.Types.ObjectId, ref: "User" }, services: [{ _id:false, service_category: { type: Schema.Types.ObjectId, ref: "ServiceCategory" }, sub_services :[{ _id:false, service : { type: Schema.Types.ObjectId, ref: "Service" }, service_description:{ type: String, default: null } }] }] }); 我需要删除sub_services数组中的对象。 所以这就是我所做的 Vendor.update({'services.service_category': req.body.category_id}, {$pull :{'services.$.sub_services': { "service": req.body.service_id }}},function(err,obj){ […]