Tag: 运行时

定期在运行时更改HTML主体的内容 – NodeJS

的index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body></body> </html> app.js 我有一个简单的UDP套接字和一个简单的HTTP服务器: var socket = require( "dgram" ).createSocket( "udp4" ); socket.on("message", function ( message, requestInfo ) { document.body.innerHTML = message; // which obviously wrong // because the file is running on the client-side // I'm looking for something equivalent }); socket.bind(1247); var http […]

redis zunionstoredynamic传递集合

我想在运行时定义的集合上使用zunionstore命令,它们是dynamic获取的,所以我永远不知道集合是什么,我必须传递给函数。 zunionstore的语法: ZUNIONSTORE目标numkeys键[键…] [权重[weight …]] [AGGREGATE SUM | MIN | MAX] parsed数组包含集合的名称。 client.zunionstore ( 'out', parsed.length, parsed, function (err, res) { console.log(err); if(!err) { client.zrevrange('out', 0, -1, 'withscores', function (err, res) { console.log(res); if(!err) { //do stuff } }); } } ); 你可以看到我试图传递包含名称的数组,但这不起作用。 我得到的错误: [Error: ERR syntax error] 任何想法如何解决这个问题?

如何检查loginheroku上的错误? (nodejs应用程序)

我在哪里可以检查我的nodejs应用程序产生什么错误? 我没有在我的本地机器上的错误,和英雄networking工作者只返回到浏览器: "Internal Server Error" 我怎样才能找出这个错误是什么?

Node.js – 在运行时加载文件

我对Node.js相当陌生,并且在运行时无法理解加载库或文件的方式。 显然,使用Node.js的本地“require”函数在运行时加载文件是一个坏主意,因为它阻塞了I / O,因此不应该在请求处理程序中使用。 所以,我假设要避免这样的事情: var http = require('http').createServer(function(req, res) { var file = require('./pages/'+req.url); res.end(); }).listen(8080); 那么是否有一种方法可以在运行时以非阻塞/asynchronous的方式要求文件? 我不认为总是可以在“启动时间”而不是运行时加载文件,因为就像上面的例子一样,知道要加载/需要的文件的唯一方法是通过req.url属性获取文件名。 所以这似乎是唯一的select。 除非,文件夹中的所有文件都是预加载的,然后通过名称调用callbackfs.readdirSync (通过使用fs.readdirSync或其他函数遍历文件夹中的所有文件,并将获取的文件名与req.url属性进行比较),但这似乎是浪费。 “预加载”文件夹中的所有文件(大约50个文件),然后只使用其中的1个,似乎不是一个好主意。 我错了吗? 无论哪种方式,我只想知道是否有一种方法,以更好,非阻塞/asynchronous的方式在运行时需要文件。 谢谢!

Node.js返回,callback和源代码执行stream程 – 运行时

我对node.js的工作方式感到困惑,我正在谈论callback,返回以及源代码的执行方式。 我使用的是sails.js,但我不认为它是链接的,我认为这更多的是JS的工作方式。 源代码: module.exports = function (req, res, callback) { if (req.session.authenticated) { // Accept user authentication. return callback(); } else { // Not authenticated. Try auto authentication. if(validator.check([validator.rulesHardwareId(req.param('hardwareId'))])){ Device.findOne({hardwareId: req.param('hardwareId')}, function(err, device){ if(err){ return res.json({message: "You are not permitted to perform this action. You have to connect to the platform before. [Wrong hardwareId or […]

是否有可能有一个服务器运行node.js在运行时安装和运行模块?

对于我的问题缺乏清晰的道歉,我会在这里试着解释我的意思。 我有一些现有的代码有效地作为不同networking之间的桥梁(使用不同的协议)。 网桥在运行时连接到的networking可能会发生变化,在运行前不可能知道networking的types。 所以我需要写一些能够有效地请求,下载,安装和运行“驱动程序”,而不需要重新启动的东西。 这可能吗? 我对node.js是完全陌生的,所以我正在努力解决这个问题,否则我将不得不将代码移植到我已经拥有的Java OSGi中(由其他人编写)。

如何使用NodeJS来组织构build,服务器,客户端和共享的JavaScript代码

在服务器上使用NodeJS的一个很大的好处是可以在服务器和客户端之间共享代码(例如inputvalidation)。 现在我实际上正在使用NodeJS开发一个难题,我发现确定每个代码体执行的责任和上下文。 下面我将列举一些我曾经遇到过的困难,希望能够对我可能会忽视的公约或指导方面有所启发,从而有助于提升这些问题。 构build时代码 为遵循基本文档而使用Gulp,Grunt或者vanilla NPM的项目构build时间代码通常非常容易。 大多数较小的项目都倾向于将所有的代码保存在一个单独的文件中,而文件往往被命名为gulpfile.js这样的传统名称,但是更大的项目我已经看到这些脚本开始被分割出来。 我已经看到一些情况下,吞噬文件被拆分成多个文件,并放置在一个单独的目录下。 更糟的是,我发现gulpfile.js文件甚至没有被命名为这样的情况,导致新开发人员四处寻找gulp文件的位置,一旦findgulp命令,总是必须运行具体的– -gulpfile选项。 运行时服务器端代码 基本节点应用程序的入口点似乎只需要在运行节点命令时指定特定的JavaScript文件(例如, node script.js )。 对于Web服务器应用程序(例如使用Express的应用程序),我注意到按照惯例,入口点文件通常称为server.js,通常可以在应用程序的根目录中find。 但是,在其他一些情况下,比如在开发环境中运行Web服务器时,我看到吞噬任务承担了启动Node的责任。 在这些情况下,似乎有多种方法来包含入口点,但我发现的一个例子是启动webpack编译器,然后是入口点脚本的require语句。 在这种设置中,弄清楚如何结合正常的指导来完成典型的节点debugging命令是非常重要的。 除了应用程序的入口之外,NodeJS / Express应用程序的目录结构似乎没有任何一般指导,它们将服务器端特定的代码保留在位置上,以帮助查找它并使其与构build时间和客户端代码。 如果服务器端代码既用于提供静态内容,服务器端生成的视图(如使用MVC),也用于向客户端提供API,则服务器端故事变得更加复杂侧。 我的偏好是将API从应用程序项目中分离出来,但是我从其他人那里得到的感觉是,如果我认为这是一个合理的分离关注,那么就会有一种过度复杂的感觉。 运行时客户端代码 由于客户端代码可能经常有基于请求的第一页的各种入口点,这可能是棘手的。 但是由于URL的普遍透明性,以及它们在典型情况下如何映射资源,以及debugging工具在现代浏览器中的function如何强大,所以在脚本的后续工作中不会太麻烦。 对于客户端代码来说,困难在于典型的构build过程,而这些过程通常最终会复制文件并将其放置在不同名称的结构中。 一个例子是一个项目有一个名为src或js的文件夹,这个文件夹将客户端和服务器端代码混合在一起,除了只有一部分文件被包含在一个构build任务中,这个任务转换并经常连接文件和将它们放在分发文件夹中。 这些分发文件夹的常见名称是dist , public , www和wwwroot 。 通常情况下,如果不是这些目录总是在项目的根目录下,那么至less可以在不必询问构build脚本的情况下轻松定位。 我的希望是,对于如何把所有这些都集中在一个统一的指导下,或许是一个权威的来源,主要是指导像我这样的人可能想要从右脚开始。 作为一个副作用,即使是一个松散的标准,也可以参考某种标准,也可以减less一个团队在开始时要发明和讨论的样板量。 在上面列出的每个上下文中,显然会有一些技术特定的约定,例如在客户端用于AngularJS,Meteor或ReactJS的约定。 我正在寻找的约定更具体到分离端到端JavaScript应用程序中的主要高级上下文,其中语言和平台不再成为区分每种语言和平台的明显方式。