Tag: javascript

gulp-open在createWriteStream之后不工作

我正在使用gulp,gulp-eslint和gulp-open来创build一个ESLint结果的报告。 linting和文件写入部分工作正常,但打开文件的任务,我写了我的报告,没有。 gulp.task('LintAll_Report_After', ['LintAll'], function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); }); gulp.task('LintAll_Report', function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); }); gulp.task('LintAll', function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); var stream = gulp.src(filesToLintGlob) .pipe(eslint()) .pipe(eslint.format('html', fs.createWriteStream('./_reports/eslint-html-result.html'))); //stream.on('finish', function () { // console.log('finished'); // stream.end(); // setTimeout(function () { // gulp.src('./_reports/eslint-html-result.html').pipe(open()); // }, 10000); //}); return stream; }); LintAll删除我的文件,然后将结果写入一个HTML文件。 LintAll_Report在浏览器中打开我的报告。 LintAll_Report_After在完成LintAll任务后应该打开我的报告。 LintAll工作正常。问题是报告打开:LintAll_Report工作,如果自己调用…但LintAll_Report_After不起作用。 没有错误,在任务运行资源pipe理器控制台我什至看到行[13:40:17] Opening C:\GITDEV\stiletto-online\_reports\eslint-html-result.html […]

我怎么能概括Node.js中的http响应处理程序?

我正在为节点应用程序编写一个rest api,并且我发现自己重写了如下的很多内容: function(req, res, next) { databaseCall() .then( (results) => { if (results != null) { res.status(200).send(results); } else { res.sendStatus(404); } }) .catch(function(err) { console.log("Request error: " + err.stack); res.sendStatus(500); }) } 我想重构响应部分,所以我可以做类似的事情 databaseCall() .then(handleResponse) handleResponse将负责整个响应/捕获过程。 但我不能完全弄清楚如何做到这一点。 databaseCall方法因端点而异 – 有时需要一个参数,有时不需要。 我可以做一个通用的函数expression式,将数据库调用的结果,并将其坚持在承诺链,但我不知道如何访问该函数内的响应对象。 我知道我可以添加另一个function来结合一切,如下所示: function(databaseCall, parameter, req, res, next) { databaseCall(parameter) .then( (results) => { if […]

如何根据promise做出asynchronous函数

问题是该function不会等待地图完成 我认为解决scheme是Promise.all但是我不知道如何使用这个function exports.createProduct = (data) => { var imgS3arr = []; //array which we waiting for data.img.map((img, i) => { fetch.remote(img).then((base) => { var buf = Buffer.from(base[0], 'base64'); var imgS3 = { Key: data.title + i, //TODO: add random Body: buf, ContentEncoding: 'base64', ContentType: 'image/jpeg' }; s3Bucket.putObject(imgS3, function (err, data) { if (err) { console.log(err); […]

ModuleBuildError:模块构build失败:错误:在Docker中运行时找不到模块“os-homedir”

这里是完整的错误日志: './src/components/app/app.scss\nModule生成失败:ModuleBuildError:模块生成失败:错误:在Function.Module._resolveFilename(module.js:485:无法findmodule \'os-homedir \ 15)\ n在Function.Module._load(module.js:437:25)\ n在Module.require(module.js:513:17)\ n在require(internal / module.js:11:18)在对象n。 (/var/app/node_modules/cosmiconfig/index.js:4:17)\n在Module._compile(module.js:569:30)\ n在Object.Module._extensions.js(module.js:580 :module.js:458:3)在module.load(module.js:503:32)\ n上,在nModuleLoad(module.js:466:12)在/var/app/node_modules/loader-runner/lib/LoaderRunner.js:364:11 \ n上的runLoaders(/var/app/node_modules/webpack/lib/NormalModule.js:194:19)\n /app/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n在loadLoader(/var/app/node_modules/loader-runner/lib/loadLoader.js:27:11)\n在iteratePitchingLoaders(/ var / app / node_modules / loader-runner / lib / LoaderRunner.js:169:2)\ n在iteratePitchingLoaders(/var/app/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at / var / app / node_modules / loader-runner / lib / LoaderRunner.js:173:18 at loadLoader(/var/app/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders( /var/app/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n在runLoaders(/ var / app / node_modules / loader-runner / […]

在一个函数的函数中返回一个值

下面的代码片段返回undefined而不是预期的链接数组。 apiCall()来自这里 。 是否有可能返回数组? 如果这样怎么样? 如果不是为什么? async function fetchData() { await apiCall('https://www.googleapis.com/youtube/v3/search?q=leeroyjenkins&maxResults=4&part=snippet&key={KEY}', (error, response, body) => { return JSON.parse(body).items.map(i => 'https://www.youtube.com/watch?v=' + i.id.videoId) }) } fetchData().then(r => console.log(r)) 编辑:下面的代码似乎工作; async function fetchData(param, fn) { await apiCall('https://www.googleapis.com/youtube/v3/search?q=leeroyjenkins&maxResults=4&part=snippet&key={KEY}', (error, response, body) => { fn(JSON.parse(body).items.map(i => 'https://www.youtube.com/watch?v=' + i.id.videoId)) }) } fetchData('lee', function(Ar) { console.log(Ar) }) }; 有人能指出为什么吗?

在response.write + nodejs中传递variables以显示进度值

我试图上传文件使用ckeditor和上传文件到S3,我成function够上传文件到S3并取回url,但是想要显示在浏览器iframe用户的进展。 使用s3上传器,我可以在发射器的“进度” var uploader = client.uploadFile(params); uploader.on('progress', function () { var percent = ((parseInt(uploader.progressAmount) * 100) / parseInt(uploader.progressTotal)).toFixed(2); return callback(null,{type : 'progress', percent: percent, url : null}); }); s3上传 s3uploads(fileUrl, function (err, uploadResult) { if (err) { res.send("error"); } if (uploadResult.type === 'progress') { html = "<p>Please wait its uploading to server </p> <p>" + […]

socket.io net :: ERR_CONNECTION_TIMED_OUT错误

我有一个网站与实时聊天工作本地主机没有错误,但在服务器上我得到这个错误: http://my.domain:52398/socket.io/?EIO=3&transport=polling&t=LuZMbMn net::ERR_CONNECTION_TIMED_OUT i.create @ socket.io.min.js:2 i @ socket.io.min.js:2 o.request @ socket.io.min.js:2 o.doPoll @ socket.io.min.js:2 n.poll @ socket.io.min.js:2 n.doOpen @ socket.io.min.js:2 n.open @ socket.io.min.js:2 n.open @ socket.io.min.js:2 n @ socket.io.min.js:2 n @ socket.io.min.js:1 n.open.n.connect @ socket.io.min.js:1 (anonymous) @ socket.io.min.js:1 server.js文件内容的一部分是: var express = require("express"), http = require('http'); var app = express(); var server = http.createServer(app); […]

vscode自动完成和IntelliSense错误@谷歌云/数据存储

我正在使用vscode v1.15.1 input代码时,库中有很多错误(运行时没有错误)。 它接近像库代码和文档不符合vscode JavaScript引擎。 例如:很多Datastore函数不能被自动完成引擎访问(比如runQuery) 一些函数文档不适合自己的function(我得到一个编辑器错误,但代码工作得很好) 这是我的jsconfig.json文件 { "compilerOptions": { "checkJs": true, "target": "es2015", "module": "commonjs" }, "exclude": [ "node_modules", "**/node_modules/*" ] } 正如我所说,代码工作得很好,唯一的问题是与编辑,我真的很烦人

下载人物头像并将其显示在node.js中

最近我变得真正有兴趣在node.js中做我自己的聊天。 我已经做了很多事情(例如注册和login),但是我遇到了一个问题:我需要在朋友列表中显示人物的头像,看起来像这样: test friend list 那些灰色圆圈是一个img标签(这将是默认的空白图片),并且应该被replace为替身。 但是,我不知道什么是通过请求发送图像到客户端的正确方法。 我使用socket.io为了沟通和发送JSON,但我相信你不能通过socket.io发送图像(或文件?)。 我在互联网上发现的唯一信息是关于使用AJAX请求上传文件到服务器,这是有用的,但仍然不告诉我如何问服务器的图片。 var id = 0; function addFriendElement() { $().add( '<div class="personTab" onclick="makeActive(this);">' + '<div class ="smallAvatar"><img src="img/testAvatar.png" alt="No avatar?"></div>' + '<div class ="nickname">' + id + '</div>' + '</div>').appendTo("#friendList"); id++; } 这就是我添加屏幕截图中看到的那些“标签”。 我想知道是否使用img标签也是不正确的。 提前致谢!

数据传输对象(DTO)是否用Node.js / Express / MongoDB构buildREST API?

我是Node.js的新手,我是后端开发新手,所以这可能是一个愚蠢的问题。 比方说,我有这样的模型: var mongoose = require('mongoose'); var UserSchema = new mongoose.Schema({ name: String, birthDate: Date, email: String, profileImageUrl: String }); mongoose.model('User', UserSchema); module.exports = mongoose.model('User'); 我有一个userController函数来获取所有这样的用户: getUsers : function(req, res){ User.find({}, function (err, users) { if (err) return res.status(500).send("There was a problem finding the users."); res.status(200).send(users); }); }, 但是,假设我不想在我的列表中返回birthDate(好吧,我将使用投影),但是我想添加一些额外的属性,我要从其他文档中计算或填充,例如 – numberOfSentMessages,numberOfFollowers等 据我所知,这是一个.net开发人员将使用数据传输对象(DTO)或ViewModel,将有我想返回的属性的情况下,如下所示: UserDTO – name […]