草庐IT

$node版本管理nvm

全部标签

javascript - Node.js如何实现多态?

我正在尝试使用node.js和其他相关技术来实现一个应用程序。从Java领域出发,多态性很自然,但对于经典程序员来说,Node的工作方式不同。应用程序将在用户提供的运行时加载新代码。为了让主要核心使用此代码,“我们”需要就某种约定达成一致。知道Node有多新,我对找不到答案并不感到惊讶。问题是这个问题在JS中也相当模糊。要求:强脱钩。在运行时加载新代码。该解决方案应该适用,这样我就可以与浏览器共享尽可能多的代码。更新:我确实摆弄过duck-typing,我还遇到了Clojure在基于协议(protocol)的实现方面的想法。我希望能在答案中加入一些代码。 最

javascript - 在 node.js 中用 zombie 填充登录表单

晚上好!我正在尝试使用zombie.js登录网站,但我似乎无法使其正常工作。哦,该网站是芬兰语的,但并不难理解,有两个文本字段和一个按钮。第一个是用户名,第二个是密码,按钮是登录按钮。目前我的登录代码如下:varBrowser=require("zombie");browser=newBrowser();browser.visit("https://www.nordnet.fi/mux/login/startFI.html?cmpi=start-loggain",function(){//HereIcheckthetitleofthepageI'mon.console.log(brow

javascript - Node.js 中的 fs 看不懂~/

我正在尝试检查目录是否作为node.js中命令行应用程序的一部分存在。但是,fs似乎并不理解~/。例如,以下返回false...>fs.existsSync('~/Documents')false...但这会返回true...>fs.existsSync('/Users/gtmtg/Documents')true...即使它们是同一回事。为什么会发生这种情况,是否有解决方法?提前致谢! 最佳答案 那是因为命令shell支持~/,而不是文件系统API。 关于javascript-Node.

javascript - node.js 和浏览器之间关键字 "this"的不同行为

我已经尝试在ie、firefox和node.js中使用以下代码varx=10;varo={x:15};functionf(){console.log(this.x);}f();f.call(o);在浏览器中的结果是10、15,但是在node.js中的结果是undefined,15。请向我解释一下“this”关键字在浏览器和node.js中的不同行为是什么?我已经阅读了很多页面,但没有任何明显的答案。提前致谢。 最佳答案 在Nodejs中加载的Javascript文件会自动包装在匿名函数中。所以在Node中你真正运行的是:(funct

javascript - Google Maps APIv3 绘图管理器的 onChange 事件

我正在使用GMapsAPIv3DrawingManager让用户在map上绘制形状。我可以使用complete事件在将形状添加到map时触发操作(例如overlaycomplete或polygoncomplete)--但我也允许用户编辑完成的形状。有没有办法在形状改变时触发Action?当修改形状时,我看不到任何方式来触发另一个函数。 最佳答案 可在此处找到编辑事件列表:EditableeventsDraggingevents下面是一个例子,当圆的半径发生变化时如何将它与DrawingManager一起使用:google.maps.

javascript - node.js fs.writeFile 没有完全覆盖文件

我有一个长度为X的文件,它正在被一个长度为X-Y的字符串覆盖。问题是,该文件仍然保留X-Y之后的信息,因此它与第一个较长的文件一样长。所以这里是我适合的测试输出:文件开始于:{"sOption1":"String","nOption2":23.5,"sOption3":"String","bOption3B":true,"anOption4":[5,6,7],"sNewString":"FruitSalad","bNewBoolean":false,"iNewNumber":14.2,"anNewArray":[1,2,3,4,5,6,7,8,9,10],"oNewObject":{"

javascript - 如何限制对 node.js javascript 中的 api 的访问?

我做了一些调查,但找不到任何能让我的案例成功的东西。因此,我使用require(..)从外部脚本加载.js,每个脚本导出一个函数..ma​​in.jsvarmain=10;varmod1=require("./mod1.js");mod1.jsmodule.exports=function(){console.log('loaded');varnet=require('net');//idon'twantittobeabletorequirecertainnode.jsapisnet.create...;}我看到了一些方法,其中.json文件声明了permissions,如果是这样,它

javascript - ReferenceError : Intl is not defined in Node. js

我正在尝试在Node.js中构造一个newIntl.Collat​​or()对象。有谁知道为什么Intl对象不会出现在Node运行时中?AccordingtoMDN,它被ECMAScript指定为命名空间,所以我不明白为什么它不在那里。 最佳答案 不幸的是,当前的node(截至0.10版,在撰写本文时)不支持ECMA-402Intl对象,除非您执行自定义的node编译,这在node.js中有记录Readme.Withlibicui18nsupport:svncheckout--force--revision214189\http:/

javascript - 如何让 TeamCity 更新指定文件中的构建版本号?

有人知道在使用AMD的HTML/JavaScript项目中显示构建版本号的简单方法吗?版本号由TeamCity作为构建过程的一部分生成。我的意思更详细:我的一个js文件(例如showVersion.js)有这样一行:alert('Buildversion:__build_ver_placeholder__');理想情况下,在TeamCity完成构建后,它将插入占位符的实际版本号。上面的行将变成:alert('Buildversion:2.1.0');这样,用户可以通过单击调用alert()函数的HTML页面上的按钮来了解构建版本号。任何想法将不胜感激。谢谢。

javascript - 处理 Node.js 套接字数据

我有服务器从客户端[GPS设备]接收数据。我在以可读格式呈现数据(即从客户端获得的结果)时遇到问题。以下是我尝试过的方法。正在做:console.log(data)我明白了也试过console.log(data.toString())但我得到了不需要的结果:见下文:��A�V~�这是我的完整代码:varnet=require('net');varfs=require('fs');varserver=net.createServer(function(socket){console.log('Serverstarted:Waitingforclientconnection...');co