Articles of node.js

反应服务器不启动 – 与renderProps的东西

我有一个React应用程序,这里是我的服务器代码: app.get('*', (req, res) => { let history = createMemoryHistory(); let store = configureStore(); let routes = createRoutes(history); match({ routes, location: req.url }, (error, redirectLocation, renderProps) => { if (redirectLocation) { res.redirect(301, redirectLocation.pathname + redirectLocation.search); } else if (error) { res.status(500).send(error.message); } else if (renderProps == null) { res.status(404).send('Not found'); } else { let { […]

如何在Node应用程序中使用Webpack加载器?

有没有一种方法可以在Web应用程序中使用Webpack加载器/在Webpack环境中运行Node应用程序? 例如我有一个webpackconfiguration,有一个样式加载器。 在我的Node应用程序中,我执行以下操作: import style from 'style.css' console.log(style.someClass) 我想运行它像$ node app.js

找不到模块相对path

我写了一个非常简单的本地模块来pipe理几行本地化文本。 它使用节点的require来加载语言文件,但我很有可能遇到path问题。 我得到Cannot find module错误。 文件结构 . +– local_modules | +– lang | | +– package.json | | +– index.js +– locale | +– en.js | +– de.coffee +– init.js +– index.coffee +– package.json 相关的模块代码 如果文件尚未加载,应该require文件。 join = require('path').join; _config.path = './locale'; lang = 'en'; _locales = {}; if(!_locales[lang]){ _locales[lang] = require(join(_config.path, lang)); } locale目录中的每个文件都是一个典型的Node.js模块,例如en.js […]

如何检查计算机在NodeJS中闲置的时间?

我想在NodeJS的后台运行一个进程,等到计算机不使用10分钟。 我的意思是用户不要触摸键盘或鼠标。 换句话说:我想听任何窗口中的键盘和鼠标事件,并在发生事件时通知我的应用程序。 对于这个任务,我可以使用普通节点,或者nw.js或者电子。 我认为我必须使用C ++,本机模块和DLL。 但是我希望有一个更好更简单的解决scheme。 你有?

如何用参数运行npm {bin:script.js}

我打算做一些类似于lodash自定义构build。 所以一般来说,我想让用户写下如下命令: lodash category=collection,function 哪个创build自定义模块只是我指定的类别 我阅读了几个教程如何用npm bin运行脚本。 为了以防万一我明白了错误,我写下了我的想法。 所以如果我有这个部分package.json : "main": "bin/index.js", "bin": { "snippet": "bin/index.js" }, 我npm install -g控制台应该监听命令片段,当我写它时,它运行文件夹bin的脚本index.js 。 这部分看起来对我来说是正确的。 当我有我的index.js简单的东西,即console.log('It Works') 。 在标准的情况下,你想让用户传递参数给脚本。 所以我发现所有的参数应该是variablesprocess.argv 。 process.argv属性返回一个数组,其中包含启动Node.js进程时传递的命令行参数。 第一个元素是process.execPath。 第二个元素将成为正在执行的JavaScript文件的path。 其余的元素将是任何额外的命令行参数。 所以我只是console.log它并运行脚本。 如果我通过命令snippet -f -a运行脚本输出是: [ 'node', 'path/to/file' ] 如果我通过node bin/index.js -f -a运行脚本,输出是: [ 'node', 'path/to/file', '-f', '-a' ] 我不明白,它的脚本,但不同的输出。 不过,我尝试它看起来像当我通过bin命令调用脚本,它永远不会传递参数。 这里有谁有这方面的经验? 并告诉我我做错了什么? 或者另外还有一些其他方法如何做到这一点? […]

使用IPFS的分散式聊天应用程序

我正在使用nodejs , expressjs , angularjs , socket.io和ipfs编写一个分散的聊天应用程序。我使用libp2p来形成将通过打开的连接相互通信的节点。 Libp2p是一个IPFS项目模块化的networking堆栈。 Libp2p允许我构build能够托pipeswarm或者listening/ dialing nodes 。 我已经发展到几个节点可以通过angularjs(由socket.io补充)网页的input相互通信的点,但是它们的IP地址和tcp端口需要被硬编码。 我面对的问题是,如果有不明身份的用户join这个系统并设置他们的节点,我该如何处理这个情况。 我已经对DHT进行了大量的研究,特别是将其应用于山洪,但是实际上并没有实际应用。 我不想运行一个跟踪用户的中央系统,因为跟踪者跟踪种子和洪stream中的浸入者(现在由于DHT而有些多余) 在一个集中式聊天应用程序中,每次用户进入或离开时,我都可以从服务器向所有使用socket.io信号发送的对等方发送事件。 但是,在分散的聊天应用程序中的等价物是我正在苦苦挣扎的事情。 我需要一些指导。

aws s3 putObject vs sync

我需要上传一个大文件到aws s3桶。 在每10分钟我的代码从源目录中删除旧文件,并生成一个新的文件。 文件大小约500 MB。 现在我使用s3.putObject()方法创build后上传每个文件。 我也听说过aws s3同步。 它与aws-cli一起来。 它用于上传文件到S3桶。 我用sws上传node.js的aws-sdk。 aws-sdk for node.js不包含s3-sync方法。 是s3-sync比s3.putObject()方法好吗? 我需要更快的上传。

节点Webkit桌面应用程序 – 浏览器PDF文件的默认caching

我使用node webkit构build了一个桌面应用程序,并且需要caching在线时通过应用程序查看的PDF文件,以便它们也可以脱机使用。 我还没有find一个解决scheme,但在testing过程中,我注意到,我以前在网上查看过的文件可以脱机使用,即使我还没有为此编写任何代码。 因此这些必须已经被自动caching。 我做了一个search,find哪些文件正在被保存,但无法find任何东西。 任何人都可以解释这个或指向我在这方面的信息,以便我了解它是如何工作,并确保我的应用程序可以利用浏览器caching的默认行为? 非常感谢, ******** UPDATE *********** 我find了一个本地存储PDF的解决scheme,但这不是我的查询。 我正在寻找一个解释,以便如何离线时PDF没有这个代码我已经写了。 这些文件必须自动存储在别处,否则它们将如何显示?

meteor采摘器服务器端路由器使用快递中间件

我想使用select器服务器端路由器中的res.send('string')或res.json(json)在我的meteorrestapi快递函数。 在文档中,它说: 您可以使用现有的连接和表示中间件没有任何问题。 我如何使用res.send和res.json等快捷function? 当我尝试使用它们时,它告诉我他们不是一个function。 我有我的服务器的以下main.js文件: import { Meteor } from 'meteor/meteor'; import { Picker} from 'meteor/meteorhacks:picker'; var bodyParser = Meteor.npmRequire('body-parser'), methodOverride = Meteor.npmRequire('method-override'), logger = Meteor.npmRequire('morgan'); Picker.middleware(bodyParser.json()); Picker.middleware(bodyParser.urlencoded({extended:false})); Picker.middleware(logger('dev')); Picker.middleware(methodOverride('X-HTTP-Method')); // Microsoft Picker.middleware(methodOverride('X-HTTP-Method-Override')); // Google/GData Picker.middleware(methodOverride('X-Method-Override')); Meteor.startup(() => { console.log('meteor server started'); var postRoutes = Picker.filter(function(req, res) { return req.method == "POST"; }); postRoutes.route('/post/:id', […]

与覆盆子pi上的node.js的和弦audio回放

我一直在尝试使用运行最新raspbian的树莓派3上的node.js创build和弦WAV播放: 炮轰到aplay / mpg123 /其他程序 – 让我只能一次播放单一的声音 我尝试了https://github.com/sebpiq/node-web-audio-api和https://github.com/TooTallNate/node-speaker (下面的示例代码)的组合,但audio质量非常低,很多的扭曲 有什么我在这里失踪? 我知道我可以很容易地用另一种编程语言(我能够用SDL编写C ++代码,用pygame编写Python),但是问题是如果node.js可能的话:) 这是我目前的web-audio-api +节点扬声器代码: var AudioContext = require('web-audio-api').AudioContext; var Speaker = require('speaker'); var fs = require('fs'); var track1 = './tracks/1.wav'; var track2 = './tracks/1.wav'; var context = new AudioContext(); context.outStream = new Speaker({ channels: context.format.numberOfChannels, bitDepth: context.format.bitDepth, sampleRate: context.format.sampleRate }); function play(audioBuffer) { if (!audioBuffer) […]