草庐IT

babel-node

全部标签

javascript - 为什么这个基本的 Node.js 错误处理不起作用?

Node.js:varhttps=require("https");varrequest=https.get("google.com/",function(response){console.log(response.statusCode);});request.on("error",function(error){console.log(error.message);});如果我将https://添加到google域名,那么我会按预期获得状态代码200。照原样,我希望错误被捕获,并且类似于“connectECONNREFUSED”的错误消息被打印到终端控制台。相反,它将堆栈跟踪打印到

javascript - Node.js 无法读取未定义的属性 'on'

怎么了?附注:我是node.js的新手,我来自.Net世界!我的server.js代码:varevents=require('events').EventEmitter;varv=function(){vare=newevents();e.emit('start');};varr=v();r.on('start',function(){console.log('eventstartjustfired!!!!!!!!!!');});和这个控制台输出:TypeError:Cannotreadproperty'on'ofundefinedatObject.(E:\Project\node\B

javascript - 将 async/await 与 babel 一起使用 - 要求 ("babel-polyfill") 行不在构建文件的顶部

我正在尝试将ES2017async/await语法与Babel结合使用。在package.json中,我有"babel":{"plugins":["babel-plugin-transform-async-to-generator"],"presets":["es2015"]}//..."devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-polyfill":"^6.13.0","babel-preset-es2015":"^6.14.0"

javascript - Babel es2015 预设不会将 Map 和 Set 转换为 es5

我正在使用gulp-babel将我的es6代码转换为es5gulp.task('build_all_debug',['config','compile'],function(){varstream=gulp.src(['public/js/config.js','public/js/*.js','public/compiled/*.js']).pipe(babel({presets:['es2015']})).pipe(concat('app.js')).pipe(gulp.dest('public/dist'));returnstream;});虽然它大部分工作正常,但实际上并没有转

javascript - babel-plugin-* 和 babel-preset-* 有什么区别

我同时使用插件和预设以及我当前的React应用程序,但从技术上讲我无法让别人理解预设和插件之间的区别。对我来说,两者都是babelloader用来编译代码的javascript文件。 最佳答案 简而言之,一个babelpreset包含多个babel插件。例如,如果只使用箭头函数,则只需要transform-es2015-arrow-functions插件即可。如果你使用了很多ES2015特性,你最好使用babel-preset-es2015,它包含很多插件,包括transform-es2015-arrow-functions。

javascript - 使用 reactjs 和 babel 导出函数

我有一个使用reactjs的项目,它是由babel转译的。我在我的.babelrc中使用es2015和React转换。我目前正在重构,在我的第一遍中,我基本上为我需要的一切做了exportclassfoo。很多这些类实际上应该只是函数,所以我试图这样重写它们,但我总是遇到同样的错误。我的主应用程序文件看起来像这样:importReact,{Component}from'react';import{Foo,Bar}from'./components/ui.js';classApplicationextendsComponent{constructor(props){super(props

javascript - node.js 返回 GMT 时间而不是 "new Date()"的本地时间。那是一个错误吗?

如果不是错误,如何告诉Node我的时区?如果有错误,是否已报告? 最佳答案 如果是bug,我的Node版本不存在。的确,在我的版本中,Node.jsREPL更喜欢在GMT中宣布:>newDate()Sat,31Mar201221:51:47GMT但它实际上是时区感知的,这不是REPL在对其进行字符串化时显示的内容:>newDate().getTimezoneOffset()-120>""+newDate()'SatMar31201223:51:56GMT+0200(CEST)'(我在Ubuntu上运行Node.jsv0.6.1。)

javascript - 在 node.js 中 for 循环完成后的回调

我需要一些有关node.js异步特性的帮助。我有一个for循环,它从数据库中收集数据。“result”是一个数组,应该返回给主函数。user_collection.findOne({_id:uid},function(error,user){if(error)callback(error)else{for(varj=0;j如何确保回调在循环结束后执行? 最佳答案 您可能需要考虑使用像async这样的辅助库https://github.com/caolan/async它有助于保持代码更一致..在您的情况下,您可以查看forEach()

javascript - 具有 "persistence token"功能的 Node.js 身份验证库

我有passportfornode的工作知识,但它没有以下内容:生成“持久性token”(例如authlogic/session/session.rb#L35为密码重置生成易腐token记住我的功能管理一些模型类的登录/注销属性,等等。Node.js社区中是否有任何库解决了这个问题?如果有任何东西像DeviseforRails一样健壮(或者正在变得健壮),那将是完美的,但任何解决此token问题的方法都同样有效。疯狂的是很多例子都在session中存储用户id!request.session['userId']=user.get('id')那只是要求被黑客攻击。应该是这样的:requi

javascript - Node.js 请求下载文件有时为空或不存在

我正在用node.js和请求模块编写一个下载器。使用我正在做的流语法varr=request(url).pipe(fs.createWriteStream(targetPath));r.on('error',function(err){console.log(err);});r.on('finish',cb);下载文件,保存并调用回调。然而,在几乎50%的情况下,文件要么是空的,要么根本没有创建。没有发出error事件。似乎finish事件被触发,即使文件尚未(完全)写入。上下文:整个事情都包装在async.each调用中。有什么线索吗?谢谢! 最佳答案