Articles of node.js

读取和写入process.env值是同步的吗?

在nodejs中读取和写入环境variables是使用process.env对象完成的。 例如: process.env.foo评估为env var foo process.env.bar = 'blah'将env var bar的值设置为等值 delete process.env.baz删除环境variablesbaz 从试错看,缺乏callback,我认为这些行动是同步的,但我没有在文档中find它的参考。 在nodejs中env var access是同步的还是asynchronous的? 附录:为什么我认为这个问题是不平凡的 遵循以下注释:读取和写入环境variables可能意味着进程需要与操作系统进行通信,或执行某种阻塞I / O操作。 因此,询问环境variables是否作为本地对象存储在内存中而没有任何同步,或者以阻塞的方式发送到操作系统是有意义的。 此外,操作系统的实现可能会有所不同,官方文档对于非阻塞操作没有任何承诺。

Mongodb身份validation错误Ubuntu

我正在为parsing服务器设置mongodb。 MongoDB shell版本:3.2.12 以下是我用来设置mongodb的步骤。 mongo > use mydbname > db.createUser({ user: "mydbuser", pwd: "mydbpwd", roles: [ { role: "admin", db: "mydbname" } ] }) 导入数据库 mongorestore ~/backup/mydbname –db=mydbname –username=mydbuser –password=mydbpwd 运行NPM npm install npm start 直到这里它工作绝对好。 但过了一段时间或1天后,它会抛出错误:身份validation失败。 错误 请帮助解决这个问题。

jest-haste-map:@providesModule命名冲突

当我运行npm start或react-native start时,我得到了这个警告: jest-haste-map: @providesModule naming collision: Duplicate module name: core-js Paths: {path_to_project}/node_modules/react-native/node_modules/core-js/package.json collides with {path_to_project}/node_modules/react-native/node_modules/fbjs/node_modules/core-js/package.json This warning is caused by a @providesModule declaration with the same name across two different files. jest-haste-map: @providesModule naming collision: Duplicate module name: base64-js Paths: {path_to_project}/node_modules/react-native/node_modules/base64-js/package.json collides with {path_to_project}/node_modules/react-native/node_modules/simple-plist/node_modules/base64-js/package.json This warning is caused by a @providesModule declaration with the […]

在执行npm install或npm install -g时出错?

错误在做npm安装或npm安装-g Nodejs“权限被拒绝”? 如何解决这个错误? 我在做 npm install npm install -g

什么AWS服务用于nodeJs原始tcp套接字聊天服务器

我正在开发一个基于回合的在线手机棋盘游戏,之前我使用Heroku为我的socketIo nodeJs服务器。 现在我已经转移到原始的Tcp套接字,因为我不想要开销,我想更加控制。 现在的问题,根据Heroku支持,“你不能直接打开一个任意的TCP连接到Dyno并发送数据”。 问题:我刚刚注册了AWS,由于AWS提供了大量的服务,对于我的nodeJs Tcp服务器,最好的解决scheme是什么? 我正在考虑EC2或无服务器的Web应用程序。 如果你有想法,请包括利弊。 先谢谢你。

弹性search在启动时嗅探没有活的连接

我为node.js使用弹性searchAPI。 我的代码是: var elasticclient=new Elasticsearch.Client( { sniffOnStart:true, sniffOnConnectionFault:true, sniffInterval:540000, hosts:['\* my elastic servers*\'] } ); 每当我删除sniffOnStart它的作品。 但是,当sniffOnStart保持它试图做一个批量后抛出以下错误: Elasticsearch warnning: date No living connection {Error:No Living connections at … (script paths..) message:'no living connections', body:undefined, status:undefined }

在Node JS中执行代码时,不能通过命令访问文件

我在节点运行时创build一个文件[HTML],并通过命令行将其转换为PDF。 HTML创build成功,甚至PDF文件也创build成功,但空。 我检查了创build的HTML文件包含数据,但命令行无法读取,我猜。 这是我的代码: 创buildHTML文件: var getPdf=function (html,fileName,callback) { fs.writeFile("./pdf/"+fileName+".html", html,'utf8', function(err) { if(err) { return callback(err,[]); } fs.readFile("./pdf/"+fileName+".html","utf8", (err, data) => { if (err) throw err; console.log(data); }); return callback(err,fileName); }); } 创buildHTML后创buildPDF var html="<html><head><title>Hello World</title></head><body><h1>Hello Sarath!</h1></body></html>"; getPdf(html,'sarath',function (err, fileName) { if(err) { console.log("Error: "+err); return false; } var cmd="xvfb-run wkhtmltopdf ./pdf/"+fileName+" ./pdf/"+fileName+".pdf"; console.log(cmd); […]

SourceMapDevToolPlugin在webpack中运行得很好。 它不接pipedevtool工作

当我设置devtool:'source-map'并应用SourceMapDevToolPlugin时 ,SourceMapDevToolPlugin不会接pipedevtool选项并生成两个不同的源地图。 webpack.config.js: const path = require('path'); const webpack = require('webpack'); const CleanWebpackPlugin = require('clean-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); var config = { context: path.resolve( __dirname, 'src'), entry:{ test1: 'test.js' }, output: { filename: 'js/[name].js?=[chunkhash]', path: path.resolve( __dirname, 'dist'), devtoolModuleFilenameTemplate: '[absolute-resource-path]', sourceMapFilename: 'srcMap/[file].map' }, module: { rules: [ { test: /\.jsx?$/, exclude: /node_modules/, use: [ […]

快速/节点中的阻塞问题

我在node.js中使用express了一些阻塞问题。 目前,我现在有这个代码: router.get('/Hello', function(req, res, next) { (async ()=>{ try{ await api.connect(); let result=await api.HandleSomethins(); await api.disconnect(); }catch(err){ console.log(err); } })(); return res.status(json(result)); }); 上面的代码没有问题,我只是使用async / await来同步一些繁重的加载过程。 然后我得到了一个情况如下: 1.UserA使用这个URL来连接我的node.js,而UserA正在等待响应。 2.UserB也在这个时候连接,所以node.js不能立即处理UserB的请求。 (注意)。我需要发送回应到用户客户端(iOS / Android)。 也许节点服务器将得到UserC,D等…在同一时间。 我该怎么办才能解决这个问题呢? child_proess? 簇? 或者是其他东西?

Sails-mysql拒绝注册连接

我在AWS实例上安装了Sails应用程序,并安装了所有依赖项,但没有出现明显的问题。 但是,每次我尝试启动应用程序,我收到以下错误。 error: AdapterError: Connection is already registered 我还没有设法成功地提升帆上的实例和sails-mysql是新鲜安装的,所以不应该注册连接。 我采取了以下步骤来部署我的应用程序.. 设置一个MySql RDS实例(EU-West) 创build并build立了Ubuntu AMD-64 t2.micro EC2实例(EU-West) 安装了所有先决条件(Git,NVM,NodeJs,Sails等) 克隆我的帆船项目 安装了Sails的依赖关系 正确configurationSails的连接设置以使用我的RDS实例。 我知道我的连接设置是正确的,因为我已经能够在我的本地机器上运行Sails并连接到我的RDS实例,并且始终能够毫无问题地解除连接。 我也可以使用SequelPro连接到我的RDS实例,没有任何问题。 过去我曾经遇到过依赖关系的问题,但是设法解决了这些问题,并且没有在我的本地机器上或者EC2实例上。 在search了一段时间之后,我遇到了一些有类似问题的用户,但是用Waterline的拆解方法设法解决了这些问题,但我不确定如何实现这一点。 我已尽力提供尽可能多的信息,任何帮助都将受到大力赞赏。 风帆版本: 0.12.11 先谢谢你。