Tag: javascript

React / Webpack / Express渲染服务器端的问题

我试图将服务器端渲染到我现有的React / Redux应用程序中。 几次失败的尝试后,我想我几乎在那里,但我遇到了几个问题。 我对React / Redux / Express / Webpack相当陌生,所以如果我犯了一些愚蠢的错误,我很抱歉! 问题1 – 窗口未定义 当我使用Redux时,我需要跟踪初始状态并将其加载到我的应用程序中。 内部server/index.js我从商店获取初始状态,并使用window.__initialData__ = ${serialize(initialData)}存储在window.__initialData__ = ${serialize(initialData)} 。 服务器代码如下: import express from 'express'; import React from 'react'; import { renderToString } from 'react-dom/server'; import { Provider } from 'react-redux'; import { StaticRouter, matchPath } from 'react-router-dom'; import serialize from 'serialize-javascript'; import routes […]

在电子,如何从它的全文件名上传文件

在我的电子应用程序,我有一个button,说“上传合同”。 点击时,它从存储的合约的文件名即。 /home/users/filename.docx并获取它(不需要一个对话窗口)。 现在,我在使用axios的时候将这个文件作为多部分表单数据上传时遇到了问题。 我已经读过关于这个问题的消息,要求在axios上进行file upload,这导致了这个浏览器上的file upload请求,并且这个pull在node.js中上传 。 我已经阅读了应用程序的一些问题和意见,但似乎有困难让真正的文件正确使用axios上传。 这是我一直在做的事情。 作为浏览器上传 export function generateContract(fileUrl, customer) { const data = new FormData() const file = fs.createReadStream(fileUrl) data.append('names', customer.names) data.append('email', customer.email) data.append('contract', file) return data } //- In between generateContract & uploadFile function some function //- gets the generatedContract data & push it to uploadFile for axios […]

如何与node.js中的winston同步logging

我相当新的node.js,我来自C#/ Java的土地,所以我需要一些日志logging的帮助。 现在我正在用Selenium编写testing,使用本地捆绑和mocha作为我的testing框架。 我有一个base-page.js – 所有其他Page Objects基类,其中包含与页面交互的基本方法和logInfo(message)方法。 就目前而言,我已经决定和winston一起去伐木了。 我的logging器configuration如下所示: import winston from 'winston'; const tsFormat = () => (new Date()).toLocaleDateString() + ": " + (new Date()).toLocaleTimeString(); const logger = new (winston.Logger)({ transports: [ new (winston.transports.Console) ({ timestamp: tsFormat, colorize: true }), new (winston.transports.File) ({ filename: 'logs.log'}) ] }); logger.level = 'silly'; logger.cli(); 它工作得很好。 事情是,当我运行我的testing用例时,所有的日志消息都会立即logging下来,而不是作为他们应该logging的函数的一部分,至less从C#/ Java的angular度来看。 […]

在NodeJS事件循环中轮询阶段

我正在通过事件循环的节点文档 ,我很困惑。 它说 – timers: this phase executes callbacks scheduled by setTimeout() and setInterval(). I/O callbacks: executes almost all callbacks with the exception of close callbacks, the ones scheduled by timers, and setImmediate(). idle, prepare: only used internally. poll: retrieve new I/O events; node will block here when appropriate. check: setImmediate() callbacks are invoked here. […]

在asynchronous任务完成时收到通知

我正在使用我在互联网上find的代码将多个file upload到Amazon S3服务器。 const AWS = require("aws-sdk"); // from AWS SDK const fs = require("fs"); // from node.js const path = require("path"); // from node.js // configuration const config = { s3BucketName: 'your.s3.bucket.name', folderPath: '../dist' // path relative script's location }; // initialize S3 client const s3 = new AWS.S3({ signatureVersion: 'v4' }); // resolve […]

3个请求函数的数组 – 如何仅当第一个函数的响应包含string时调用第二个函数? – 节点JS

我有一个3个函数的数组,使用节点提取从3个不同的API获取数据。 如果第一个函数的response.body包含“rejected”,我只想调用第二个和第三个函数。 我遇到的问题是所有的方法在从第一个接收到响应之前被调用。 const buyersList = [ { buyerName: 'ACME', buyerPrice: '100', buyerMethod: sellACME, }, { buyerName: 'ACME', buyerPrice: '60', buyerMethod: sellACME, }, { buyerName: 'ACME', buyerPrice: '20', buyerMethod: sellACME, }, { buyerName: 'ACME', buyerPrice: '2', buyerMethod: sellACME, }, ]; //fetch the data and parse function sellACME(url) { return fetch(url, { method: 'POST' }) .then(obj […]

node.js如何configurationlogging器的工作?

我正在阅读Nike Cantelon的一本名为“Node.js in Action”的书,并坚持使用可configuration的logging器实现: 当使用String.prototype.replace()时,我们设置了一个函数(match,property)作为第二个参数,我对它的function毫无头绪 。 任何人都可以解释什么function(比赛,财产)呢? 写代码的方式并没有给我一个洞察力。 function setup(format){ let regex = /:(\w+)/g; return function logger(req, res, next){ let str = format.replace(regex, (match, property) => { return req[property]; }); console.log(str); next(); } } module.exports = setup;

通过不同的可读stream对相同的可写stream进行两次pipe道操作

我试图连接一个string和一个可读stream(可读stream指向一个文件,可能有多个数据块,即文件可能很大)到一个可写入的stream,以便可写入的stream可以最终写入到一个目的地。 我正在encryption文件的string和内容,然后对它们应用zlib压缩,最后我想pipe他们到可写入的stream。 要做到这一点,我可以: a)将文件内容转换为一个string,然后连接string然后encryption,进行压缩,然后将其pipe道化为可写入的stream。 但这是不可能的,因为文件的大小可能很大,因此我不能将其内容转换为string。 b)我可以先encryption和压缩string,然后将string转换成stream,然后将其完全传输到可写入stream中,然后将文件内容传送到相同的可写入stream中。 为此,我写了这个: var crypto = require('crypto'), algorithm = 'aes-256-ctr', password = 'd6FAjkdlfAjk'; var stream = require('stream'); var fs = require('fs'); var zlib = require('zlib'); // input file var r = fs.createReadStream('file.txt'); // zip content var zip = zlib.createGzip(); // encrypt content var encrypt = crypto.createCipheriv(algorithm, password, iv); var w = […]

如何从客户端触发对nodejs服务器的调用javascript

新的networking编程。 对不起,可能没有问题。 我正在使用nodejsbuild立一个网站。 我想要做的是:每当页面刷新(或整个页面呈现 – 我将使用window.onload ),我想从我的HTML文件中的Javascript脚本触发一个调用到我的nodejs服务器通知它。 服务器将执行一些数据库操作等。 我需要了解如何做到这一点。 套接字或AJAX调用? 如果Ajax调用,我在哪里定义路由/函数来处理这个调用? 如果我在我的routes.js文件中定义它,它是否可访问?

如何在JavaScript中设置JPEG / PNG图像的分辨率/密度?

我需要在javascript中更改JPG / PNGtypes图像的分辨率/密度。 我需要这样做的原因是,我可以将图像发送到第三方API,然后根据分辨率/密度元数据知道每英寸有多less像素(DPI / PPI)要打印。 有没有这样的解决scheme在JavaScript?