如何使用NodeJS进行单点login?

我有多个networking应用程序跨多个域运行。 我想实现单一login,以便用户login一次访问所有的应用程序。 我应该如何执行这个? 所有的应用程序都使用NodeJS后端。 一般指针正确的方向是受欢迎的。 谢谢

转换stream以将string前置到每一行

我像这样产生了一个subprocess: const n = cp.spawn('bash'); n.stdout.pipe(process.stdout); n.stderr.pipe(process.stderr); 我正在寻找一个转换stream,以便我可以在孩子的每一行的开始处添加像[[child process]]之类的东西,所以我知道stdio是从父subprocess发出的。 所以它看起来像: const getTransformPrepender = function() : Transform { return … } n.stdout.pipe(getTransformPrepender('[child]')).pipe(process.stdout); n.stderr.pipe(getTransformPrepender('[child]')).pipe(process.stderr); 有没有人知道是否有这样的现有变换包或如何写一个? 我有这个: import * as stream from 'stream'; export default function(pre: string){ let saved = ''; return new stream.Transform({ transform(chunk, encoding, cb) { cb(null, String(pre) + String(chunk)); }, flush(cb) { this.push(saved); cb(); } […]

Laravel 5.4的“跨环境”不被认为是内部或外部的命令

我试图运行npm run dev Laravel混合,我得到这个错误: > @ dev D:\projects\ptcs > cross-env NODE_ENV=development webpack –progress –hide-modules — config=node_modules/laravel-mix/setup/webpack.config.js 'cross-env' is not recognized as an internal or external command, operable program or batch file. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ dev: `cross-env NODE_ENV=development webpack –progress –hide- modules –config=node_modules/laravel-mix/setup/webpack.config.js` npm ERR! Exit status 1 […]

在同构React应用程序中呈现HTMLstring

有一个非SPA的情况下消毒,但随机的HTMLstring作为input: <p>…</p> <p>…</p> <gallery image-ids=""/> <player video-id="…"/> <p>…</p> 该string来自WYSIWYG编辑器,包含嵌套的常规HTML标签和有限数量的应该呈现给小部件的自定义元素(组件)。 目前,像这样的HTML代码片段应该分别在服务器端(Express)上呈现,但是最终也会在客户端呈现为同构应用程序的一部分。 我打算使用React(或React-like框架)来实现组件,因为它可能适合这种情况 – 它是同构的,并且很好地呈现部分。 问题是子字符像 <gallery image-ids="[1, 3]"/> 应该成为 <Gallery imageIds={[1, 3]}/> JSX / TSX组件在某些时候,我不知道什么是正确的方式来做到这一点,但我希望它是一个共同的任务。 在React中如何解决这个问题?

在npm install上出现错误“ETXTBSY:文本文件繁忙”

当运行npm install [any package]甚至npm install在homestead我得到以下错误: npm ERR! ETXTBSY:文本文件繁忙,rmdir'/ home / vagrant / valemus-shop-starter / valemus-shop / node_modules / fsevents'这是debugging日志的要点。 https://gist.github.com/martijnimhoff/118aab71ef9fe4ceb9b97be03e33f1df 箱子“laravel / homestead”(v3.0.0) 节点:v8.2.1 NPM:5.3.0 我试图删除fsevents目录,但它不存在。 我该如何解决?

如何设置节点Puppeteer的select值

我试图用相当新的GoogleChrome / puppeteer库做一些自动化操作,但是我不知道如何在select字段中设置一个值。 这是我的(简化)函数来设置文本input的值: async function setInputVal(sel, text) { await page.focus(sel) page.press('Backspace') page.type(text) } await setInputVal('input.searchjob', task.id) 我不知道如何做一个select领域相同。 我试图设置焦点,插入脚本并执行,但我无法得到它的工作。

我怎样才能在顶层使用asynchronous/等待?

我一直在asynchronous/等待,经过几篇文章,我决定自己testing一下。 然而,我似乎无法绕过我的头为什么这是行不通的: async function main() { var value = await Promise.resolve('Hey there'); console.log('inside: ' + value); return value; } var text = main(); console.log('outside: ' + text) 控制台输出以下内容(节点v8.6.0): >外:[object promise] >里面:嘿,那里 为什么函数内部的日志消息之后执行? 我认为asynchronous/等待创build的原因是为了执行使用asynchronous任务的同步执行。 有没有办法可以使用函数内返回的值,而不使用main()后面的.then() main() ?

在Node.js中并发访问共享数组是一个问题

节点如何处理事件? 一个在当时,还是并发? 我需要知道,如果将要共享数组的并发访问,如下例所示: var ws = require("./ws.js"), connections = []; ws.createServer(function( socket ){ // add to connection array socket.on('connect', function(){ connections.push(socket); }); // remove from connection array socket.on('close', function(){ var i = connections.indexOf(socket); connections.splice(i,1); }); }).listen(8000); 当客户端连接时,其套接字被推送到数组。 当连接closures时,我想从连接数组中删除它。 但是,在其他语言中,这可能会导致并发问题。 FX。 如果两个连接同时closures: 连接A在索引4中find它的套接字 连接B在索引5中find它的套接字 连接A从索引4删除自己 连接B从索引5中删除自己(但现在是索引4) 这会永远是一个问题,或者我可以假设一次只处理一个callback?

在node.js中创build链接的方法?

是否有可能在node.js中创build像这样asynchronous的链式方法 File.create('file.jpg').rename('renamed.jpg').append('Hello World') 那就是说非阻塞。

node.js能够从URL读取吗?

我想要实现的是创build脚本,它将从URL读取,然后使用这些数据做一些操作。 在例子中。 这个脚本每5分钟运行一次,从某个地方加载页面,检查是否有改变,如果有什么改变(有一个小的特定的变化,我实际上会寻找,但没关系,因为这个想法保持同样),它会通过电子邮件发送给我一个警报。 问题是。 Node.js可以处理吗? 我可以用ruby创build这个脚本,或者甚至是shell脚本,每隔N分钟从服务器上的crontab运行; 但是我想尝试一下Node.js,这听起来像我有一个很好的“宠物项目”来尝试它。