Tag: ecmascript 6

在方括号里的函数声明如何在Node.js / Javascript中工作?

第一次在Node.js中看到像这样的东西来声明函数。 总之,代码与此类似 'use strict'; const Actions = { ONE: 'one', TWO: 'two', THREE: 'three' }; class FunMap { run(action) { const map = this; map[action](); } [Actions.ONE] () { console.log("Performing action one"); } [Actions.TWO] () { console.log("Performing action two"); } [Actions.THREE] () { console.log("Performing action three"); } } var funMap = new FunMap(); funMap.run('one'); funMap.run('two'); […]

如何在iojs中获取模板string的原始版本

是否有可能在iojs中获得模板string的原始版本? var s = `foo${1+1}bar` console.log(s); // foo2bar 在前面的例子中,我想获得string: foo${1+1}bar 编辑1 :我的需要是检测一个模板string是否依赖于它的上下文如果是只是一个“常量”string,可能包含CR和LF

NodeJS中的ES6:对象文字中的箭头函数,返回的“this”值是什么?

我只是玩弄箭头函数,并尝试使用它们作为对象字面上的属性,如下所示: var obj = { a: () => { return this; }, b: function () { return this; }, }; 但是,当我testing这个,我不能解释从obj.a()返回的是什么。 console.log(obj.a()); //=> {} console.log(obj.b()); //=> { a: [Function], b: [Function] } 它是obj的原型吗?

如何与koa2运行简单的应用程序?

问题 我试图运行简单的http服务器使用koa2 ,但运行它有问题。 它使用es6 ,预计在未来的node.js版本中工作,我想知道如何可以与node v6.1.0运行它? 码 import Koa from 'koa'; const app = new Koa(); // Setup handler. app.use(async ctx => { ctx.body = "Hello World!"; }); // Start server. app.listen(3000); 产量 $ node –version v6.1.0 $ node –harmony index.js C:\Users\gevor\WebstormProjects\untitled1\index.js:1 (function (exports, require, module, __filename, __dirname) { import Koa from 'koa'; ^^^^^^ SyntaxError: […]

并发活动的语言同步('map-reduce')在节点中?

编辑 感谢答复,我有一个工作版本。 问题结束时的代码; 感谢@estus和@Jared的帮助。 原来的问题 我的方式进入节点,并试图获得并发处理。 从一个简单的例子开始:给定两个文件的名字,确定哪个更大。 常规(顺序)解决scheme: var fs = require('fs'); var fname1=process.argv[2] var fname2=process.argv[3] var stats1 = fs.statSync(fname1) size1=stats1["size"] var stats2 = fs.statSync(fname2) size2=stats2["size"] if(size1 > size2) { console.log(fname1 + " is bigger") } else if (size2 > size1) { console.log(fname2 + " is bigger") } else { console.log("The files are the same […]

ES6不被识别 – NodeJS和WebStorm

我一直在search和search,无法find答案。 我只是有点熟悉Typescript。 开始在我的GraphQL NodeJS服务器上工作,并希望使用Typescript来更安全,更简单的编码。 首先需要做的是将当前的JS版本设置为ES6,所以我做了。 另外我设置我的tsconfig方式: { "compilerOptions": { "module": "es6", "target": "es6", "noImplicitAny": false, "outDir": "./build", "sourceMap": true }, "exclude": [ "node_modules" ] } 我的index.js import * as express from 'express'; import * as graphqlHTTP from 'express-graphql'; import {Schema} from './src/schema/Schema'; const PORT = 3000; const app = express(); const graphqlOption: graphqlHTTP.OptionsObj = { […]

防止吞咽错误的ES6承诺(不使用.catch)

我不想为每个使用的承诺input.catch。 没有做这个承诺所造成的错误是极其无益的。 纯粹为了这个目的而使用像蓝鸟这样的整个库让我感到不舒服。

Javascript es6 – 它重新分配或参数?

有人能解释一下这里发生了什么? 我知道这些是中间件的快递,我正在看语法。 我明白了mustBeLoggedIn的es6语法,但是我不确定什么是const forbidden = message => (req, res, next) => {正在做。 message是req,res,next之前的另一个参数吗? 如果是这样,为什么不在括号内呢? 我原本以为这只是分配另一个variables名称的function。 所以我可以称它为forbidden()或message() ,不是吗? 但看看它是如何使用它看起来更像一个参数… 我注意到的另一个有趣的事情是forbidden中间件被调用的get请求和mustBeLoggedIn只被传递,而不是调用。 为什么? const mustBeLoggedIn = (req, res, next) => { if (!req.user) { return res.status(401).send('You must be logged in') } next() } const forbidden = message => (req, res, next) => { res.status(403).send(message) } module.exports = require('express').Router() […]

在nodejs和babel上使用es6的差异

我正在学习一个关于ES6的文档,我看到nodejs和babel都是使用新的es6特性和语法的方法,但真正的区别是什么?

ES6import报关+符号

这个import声明中的+符号代表什么? import app from '+/api'; 而不仅仅是: import app from '/api'; 导入片段来自使用es6的Node应用程序,该应用程序使用Babel进行传输。 ./api/index.js使用export default app; Express实例export default app; 我也看到了这个语法,使用代字号: import app from '~/api';