草庐IT

root-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 - 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 - 处理 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

javascript - 使用 require 和 node.js 加载远程 js 文件

我一直在使用NodeJS和javascript开发在线套接字服务器,并且我一直在使用require在我的代码中创建“游戏室”:new_game_obj=require('./forza4.js');现在..当我在我的本地机器上测试我的代码时,这个工作找到了,但是对于生产服务器,我遇到了一个问题。似乎出于某种技术原因,运行我的代码的进程与我有权访问的计算机(用于文件上传等)在不同的机器上,所以服务器场的人要求我改变我的代码,以便我将从全局位置加载我在“forza4.js”中的代码,而不是本地,就像我现在所做的那样。所以我将代码更改为:new_game_obj=require('http:

javascript - Node.js + Express - 无法连接。 ERR_CONNECTION_REFUSED

我遵循了这个基本示例:http://shapeshed.com/creating-a-basic-site-with-node-and-express/文件已生成...它们都在那里。我一步一步地运行它。无论我使用哪种浏览器,我都会收到“无法连接”(Firefox)和“此网页不可用...ERR_CONNECTION_REFUSED”(Chrome)-它无法正常工作。我检查了生成的bin/www文件,它似乎指示端口3000。但是,在生成站点后运行“nodeapp.js”时,我没有得到no输出。查看该文件后,我注意到它指向了我系统上Node的错误路径,因此我将其更改为正确的路径:#!/usr

javascript - 从具有异步功能的 Node.js 模块返回值

我为我的Node.js项目编写了一个模块,该模块处理一些数据并返回结果,如下所示:varresult=require('analyze').analyzeIt(data);问题是analyze.js依赖于一个异步函数。基本上它看起来像这样:varanalyzeIt=function(data){someEvent.once('fired',function(){//lotsofcode...});returnresult;};exports.analyzeIt=analyzeIt;当然这样不行,因为result返回的时候还是空的。但是我该如何解决呢? 最佳答

javascript - 如何从 node.js 脚本中的 CDN 链接导入 JavaScript 库

我有一个名为myscript.js的脚本。我通常执行脚本使用这个命令:$nodemyscript.js如何通过脚本中的CDN地址包含JStat库://cdn.jsdelivr.net/jstat/1.2.1/jstat.min.js 最佳答案 node的require中没有内置任何逻辑来执行此操作。如果你确定这个库支持在服务器端使用(不是所有的库都是“同构的”,即在客户端和服务器端都可用),那么你可以下载它并在本地使用它(要求('./jstat.min.js')).最好的方法是在npm上找到它并安装它,就像任何其他Node模块一样。

javascript - 如何在路由器文件中获取应用程序(在 Node/Express 应用程序中)

我的app.js看起来像这样:app=express();setup.configure(app);//...morestuff(e.g.databasesetup,middlewaredefinition,etc.)...varapi=require('./routes/api');app.use('/api',api);module.exports=app;在routes/api.js中,我有这样的带有中间件的路由:router.get('/myroute',app.sessionMW,function(req,res,next){//...});JSLint标记错误,因为我将ap