node.js 是一个基于 Google 的 V8 JavaScript 引擎的开源服务器端 JavaScript 平台。几年来,它迅速流行起来并变得重要。
现在 node.js 只是一个平台。本质上,使用哪个 JavaScript 引擎只是一个实现细节,可以使用任何 JS 引擎,甚至是与各种 JS 引擎一起工作的抽象。
Joyent可能选择 V8 是因为它是开源的,有优惠的许可条款,并且通常是最快的 JS 引擎(但我相信它有时会被其他引擎超越)。
鉴于对许多可能被称为“开放标准”的事物(例如 JS 引擎、Web 浏览器、编程语言编译器等)拥有多种不同但兼容的实现是一件好事;当然,拥有像 node.js 这样的服务器端平台的多个实现也很好
例如,JavaScript 引擎几乎可以在所有操作系统和硬件上运行,但 V8 只适用于其中的几个。甚至事实证明,微软正在为 Windows Azure 推广 node.js,尽管它依赖于主要竞争对手的工作,即使他们有自己的 JS 引擎可以与 V8 竞争速度。
如果任何这样的端口已经开始,我将非常有兴趣关注他们的进展以监控 node.js 是否可能成为一个开放标准。
• 我意识到 Node 不像 JS 和浏览器那样标准化,而且它的发展非常迅速,但这并没有阻止任何人挠痒痒。 • 如果有多个端口,我不是在征求您认为哪个更好或哪个更受欢迎的意见,这不是民意调查问题。 • 我也不是购买 node.js 实现,我感兴趣的是 node.js 或类似的东西是否会被普遍采用作为一个平台,或者它是否会留在一家公司手中。
最佳答案
是的,在 JVM 上的 Nashorn 引擎上运行的 node.jar:
https://groups.google.com/forum/?fromgroups#!topic/nodejs/750fF6ruAdY
如果能成功就太好了。
关于javascript - 除了 V8 之外,是否有任何带有 JavaScript 引擎的 node.js 平台的端口或替代实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188356/
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案
我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查
我的日期格式如下:"%d-%m-%Y"(例如,今天的日期为07-09-2015),我想看看是不是在过去的七天内。谁能推荐一种方法? 最佳答案 你可以这样做:require"date"Date.today-7 关于ruby-检查日期是否在过去7天内,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32438063/
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_