草庐IT

es6-features

全部标签

javascript - 如何在 ES6/ES2015 中编写 Mongoose 模型

我想在ES6中编写我的Mongoose模型。基本上尽可能替换module.exports和其他ES5东西。这是我所拥有的。importmongoosefrom'mongoose'classBlacklistextendsmongoose.Schema{constructor(){super({type:String,ip:String,details:String,reason:String})}}exportdefaultmongoose.model('Blacklist',Blacklist)我在控制台中看到了这个错误。if(!('pluralization'inschema.op

javascript - Gulp babel es2015 转换很慢

我正在尝试使用gulp在我的JavaScript上运行babel-preset-es2015,但即使在一行代码上也需要很长时间。我最初尝试使用大约700loc的脚本包,然后使用1行的虚拟脚本。第一种情况大约需要9s-1行i需要8.38s。这是我的确切设置:package.json:{"devDependencies":{"gulp":"^3.9.0","gulp-babel":"^6.1.1","babel":"^6.3.26","babel-preset-es2015":"^6.3.13"},"babel":{"presets":["es2015"]}}gulpfile.js:gul

javascript - es6 Javascript 类在回调中使用 this

这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个回答)关闭6年前.新的es6类允许您在方法中使用自引用变量this。但是,如果类方法具有子函数或回调,则该函数/回调不再有权访问自引用变量thisclassClassName{constructor(dir){this.dir=dir;fs.access(this.dir,fs.F_OK|fs.W_OK,this.canReadDir);//nodejsfs.accesswithcallback}canReadDir(err){this.dir;//NOACCESSt

javascript - Nodejs,将路由表达为 es6 类

我想稍微清理一下我的项目,现在我尝试将es6类用于我的路线。我的问题是this始终未定义。varexpress=require('express');varapp=express();classRoutes{constructor(){this.foo=10}Root(req,res,next){res.json({foo:this.foo});//TypeError:Cannotreadproperty'foo'ofundefined}}varroutes=newRoutes();app.get('/',routes.Root);app.listen(8080);

javascript - 如何向 ES6 javascript 类添加 mixins?

在带有一些实例变量和方法的ES6类中,如何向其中添加mixin?我在下面给出了一个例子,虽然我不知道mixin对象的语法是否正确。classTest{constructor(){this.var1='var1'}method1(){console.log(this.var1)}test(){this.method2()}}varmixin={var2:'var2',method2:{console.log(this.var2)}}如果我运行(newTest()).test(),它将失败,因为类上没有method2,因为它在mixin中,这就是为什么我需要在类中添加mixin变量和方法。

javascript - 什么是 ES6 生成器,如何在 node.js 中使用它们?

我今天参加了一个node.js聚会,我在那里遇到的人说node.js有es6生成器。他说这是对回调风格编程的巨大改进,并将改变Node格局。Iirc,他说了一些关于调用堆栈和异常的事情。我查找了它们,但还没有真正找到任何以适合初学者的方式解释它们的资源。生成器的高级概述是什么,与回调有何不同(或更好?)?PS:如果您可以提供一段代码来突出显示常见场景(发出http请求或db调用)中的差异,那将非常有帮助。 最佳答案 生成器、纤程和协程“生成器”(除了“生成器”)也是"fibers"or"coroutines"的基本构建block。.

javascript - ES6类,不同文件中的父类和node.js?

在node.js中使用一个文件中定义的类并在另一个文件中扩展它的正确方法是什么?目前我有:'usestrict'classBasePageHandler{constructor(app,settings,context){}}returnmodule.exports;在我的“子”类文件中:'usestrict'varBasePageHandler=require('./../BasePageHandler.js');classFrontpagePageHandlerextendsBasePageHandler{constructor(app,settings,context){supe

javascript - 如何在 javascript/nodejs (ES6) 中创建静态函数/对象

我想使用Javascript/NodeJS创建一个静态类。我用谷歌,但我找不到任何有用的例子。我想在JavascriptES6中创建类似这样的东西(C#):publicstaticMyStaticClass{publicstaticvoidsomeMethod(){//dostuffhere}}目前,我有这个类,但我认为每次从“require”调用这段代码时,它都会创建一个新实例。functionMyStaticClass(){letsomeMethod=()=>{//dosomestuff}}varmyInstance=newMyStaticClass();module.export

node.js - 在 nodejs 项目中使用 es6 类的正确方法

我希望能够使用nodejs4.1.2的酷炫es6类功能我创建了以下项目:a.js:classa{constructor(test){a.test=test;}}index.js:require('./a.js');varb=newa(5);如您所见,我创建了一个简单的类,它的构造函数获取一个参数。在我的包含中,我需要该类并基于该类创建一个新对象。很简单..但我仍然收到以下错误:SyntaxError:Block-scopeddeclarations(let,const,function,class)notyetsupportedoutsidestrictmodeatexports.ru

javascript - 如何从 CLI 执行 es6 脚本

我安装了最新的NodeJS,对于任何JavaScript文件,我可以使用nodemyscript.js执行它,但最近我正在学习es6,对于一些最新的语法,它只是弹出执行时出现一些错误/异常。我尝试了babel-cli,但似乎无法正常工作,因为它用于将es6编译为5而不是用于命令行执行。 最佳答案 1)要启用对ES6的支持,请使用--harmony标志:node--harmonymyscript.js这将在node.js中启用可用的ES6语法。但请注意,它目前是ES6标准的一个有限子集(参见compatibilitytable)。2)