节点__dirname未定义

从节点手册我看到,我可以用__dirname获取文件的目录,但从REPL这似乎是未定义的。 这是我的误解还是错误? $ node > console.log(__dirname) ReferenceError: __dirname is not defined at repl:1:14 at REPLServer.eval (repl.js:80:21) at Interface.<anonymous> (repl.js:182:12) at Interface.emit (events.js:67:17) at Interface._onLine (readline.js:162:10) at Interface._line (readline.js:426:8) at Interface._ttyWrite (readline.js:603:14) at ReadStream.<anonymous> (readline.js:82:12) at ReadStream.emit (events.js:88:20) at ReadStream._emitKey (tty.js:320:10)

RailwayJS vs TowerJS

再一次…select框架。 我已经停在了这两个TowerJS和RailwayJS,但它们的接缝非常相似,select哪种方式是非常困难的 两者都基于Express,都是RoR风格的框架。 哪一个最有前途,哪一个会更受欢迎? 或者,也许我已经走错了路? 也许我应该select其他框架。 我讨厌什么时候有这么多的框架可供select,没有行业标准可以依靠,或多或less肯定框架将在近两年内发展… 请帮忙,需要专家build议。 谢谢

当业力已经安装时,没有findkarma命令

我使用node.js来安装业力。 在terminal上运行以下命令时,我的第一次尝试失败: npm install -g karma 那失败了,所以我决定使用: sudo npm install -g karma input我的密码后,似乎安装正确。 我粘贴安装的输出的一部分,也许这将意味着某人,这将是我的问题相关。 所有的npm http消息之后,我看到: > ws@0.4.27 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished /usr/local/share/npm/bin/karma -> /usr/local/share/npm/lib/node_modules/karma/bin/karma karma@0.8.6 /usr/local/share/npm/lib/node_modules/karma ├── pause@0.0.1 ├── dateformat@1.0.2-1.2.3 ├── xmlbuilder@0.4.2 ├── colors@0.6.0-1 […]

Node.js + express.js + passport.js:在服务器重启之间保持身份validation

我使用passport.js来处理我的nodejs + express.js应用程序的身份validation。 我设置了一个LocalStrategy从MongoDB中取用户 我的问题是, 当我重新启动节点服务器时 , 用户必须重新进行身份validation 。 这是一个问题,因为我正在积极开发它,不要在每次重新启动时都要login…(+我使用节点监督器) 这是我的应用程序设置: app.configure(function(){ app.use('/static', express.static(__dirname + '/static')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.session({secret:'something'})); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); }); 和会话序列化设置: passport.serializeUser(function(user, done) { done(null, user.email); }); passport.deserializeUser(function(email, done) { User.findOne({email:email}, function(err, user) { done(err, user); }); }); 我尝试了使用connect-mongodb没有成功的博客上给出的解决scheme(删除链接,因为它不存在了) app.use(express.session({ secret:'something else', cookie: {maxAge: 60000 * 60 * 24 * 30}, […]

保护我的Node.js应用程序的REST API?

我可以在我的REST API上做一些帮助。 我正在写一个Node.js应用程序,它使用Express,MongoDB,并在客户端有Backbone.js。 我花了最后两天试图解决所有这些,没有太多的运气。 我已经检查过 保护REST API 使用OAuth保护我的REST API,同时仍允许通过第三方OAuth提供者进行身份validation(使用DotNetOpenAuth) http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/ http://tesoriere.com/2011/10/10/node.js-getting-oauth-up-and-working-using-express.js-and-railway.js/ 我想保持我的后端和前端尽可能分开,所以我想使用精心devise的REST API会很好。 我的想法是,如果我花时间去开发一个iPhone应用程序(或类似的东西),它可以使用API​​来访问数据。 但是,我希望这是安全的。 用户已经login到我的networking应用程序,我想确保我的API是安全的。 我读了关于OAuth,OAuth 2.0,OpenID,Hmac,哈希等…我想避免使用外部login(Facebook / Twitter /等)我想注册和login在我的应用程序/服务器。 …但我仍然在这里困惑。 也许是在深夜,或者我的大脑只是被炸,但我真的可以采取一些措施,在这里做什么。 我有什么步骤来创build一个安全的API? 任何帮助,任何信息,任何示例,步骤或任何东西都会很棒。 请帮忙!

在node.js ES6variables导入名称?

是否有可能在使用ES6导入时将某些东西导入到提供variables名称的模块中? 也就是说,我想在运行时导入一些模块,具体取决于configuration中提供的值: import something from './utils/' + variableName;

有一个节点OAuth服务器实现

我只find了nodejs的oauth客户端库。 有谁知道我在哪里可以find服务器实现? 谢谢, 浩。

如何pipe理PhantomJS实例的“池”

我正在计划一个webservice供我自己使用内部使用一个参数,一个URL,并返回表示从该URL parsing的 DOM的HTML。 通过解决我的意思是,Web服务将首先获得该网页,然后使用PhantomJS'呈现'页面,然后返回所有的DHTML,AJAX调用等执行后产生的源。 然而,基于每个请求(我现在正在做的)启动幻影的方式太慢了。 我宁愿有一个PhantomJS实例池,总是有一个服务于我的web服务的最新调用。 以前有没有做过这方面的工作? 我宁愿将这个web服务基于其他人的工作,而不是从头开始为自己写一个池pipe理器/ http代理服务器。 更多的上下文 :我已经列出了目前为止我见过的两个类似的项目,以及为什么我避免了每个项目,结果导致这个关于pipe理一个PhantomJS实例池的问题。 jsdom – 从我看到它有很好的function来执行页面上的脚本,但它不会尝试复制浏览器的行为,所以如果我使用它作为一个通用的“DOMparsing器”最终会成为很多额外的编码来处理各种边界情况,事件调用等。我看到的第一个例子是手动调用我使用节点设置的testing应用程序的body标签的onload()函数。 这似乎是一个深刻的兔子洞的开始。 Selenium – 它只有很多更多的移动部件,因此设置一个池来pipe理长期浏览器实例将比使用PhantomJS更复杂。 我不需要它的任何macros录制/脚本的好处。 我只是想要一个web服务,就像获取网页和parsing它的DOM一样,就好像我正在用浏览器浏览这个URL(或者如果我可以让它忽略图像等甚至更快)。

如何使用nodejs打开默认浏览器并导航到特定的URL

我正在使用Node.js写一个应用程序 我想创build的function之一是打开默认的Web浏览器,并导航到一个特定的URL。 我希望它是可移植的,以便在Windows / Mac / Linux上运行。

nodejs护照authentication令牌

我正在编写一个nodejs应用程序,我想用它作为一个web应用程序以及一个API提供程序。 一旦用户通过身份validation,我想为该用户分配一个令牌用于后续请求。 这对Web应用程序的护照很有效,因为我只是用会话中的令牌序列化和反序列化用户。 但是,在响应API请求时,不存在用于存储会话信息的Cookie。 理想情况下,护照会在会话和请求主体中查找令牌。 有什么办法来configuration护照来完成这个?