Tag: ecmascript harmony

节点不能启用和声function

尝试运行这些新function,如http://h3manth.com/new/blog/2013/es6-on-nodejs/ ,特别是我的本地节点环境中的生成器 。 任何原因当我在0.11.4之前的任何节点版本上运行node –harmony –use-strict es6.js es6.js我得到的错误 function *Counter() { ^ SyntaxError: Unexpected token * etc… 它适用于任何版本0.11.4和之后,但是当我添加一个–debug-brk语句 global.v8debug.Debug.setBreakPoint(compiledWrapper, 0, 0); ^ ReferenceError: break_point is not defined 不知道为什么它给了我启用和谐的选项,但不能在以前的版本中使用它,为什么我不能debugging更高版本?

如果一个函数是一个生成器函数,如果.bind()已经被调用,是不可能的?

看起来像调用.bind(this)任何生成器函数打破了我的能力,看看函数是否是一个生成器。 有想法该怎么解决这个吗? var isGenerator = function(fn) { if(!fn) { return false; } var isGenerator = false; // Faster method first // Calling .bind(this) causes fn.constructor.name to be 'Function' if(fn.constructor.name === 'GeneratorFunction') { isGenerator = true; } // Slower method second // Calling .bind(this) causes this test to fail else if(/^function\s*\*/.test(fn.toString())) { isGenerator = true; } […]

如何将-harmony节点标志添加到grunt-express

我正在用grunt-express做本地开发。 这里是我的GruntFile.js var path = require('path'); module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify:{ options:{ banner:'/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' } }, express:{ server:{ options:{ debug:true, server: path.resolve('app.js') } } }, env : { options:{ }, dev : { NODE_ENV : 'development' }, prod : { NODE_ENV : 'production' } }, mochaTest:{ test:{ […]

在模块中启用V8中的和谐ES6function?

节点v0.10.20提供了许多关于和谐的选项, –harmony_typeof (enable harmony semantics for typeof) –harmony_scoping (enable harmony block scoping) –harmony_modules (enable harmony modules (implies block scoping) –harmony_proxies (enable harmony proxies) –harmony_collections (enable harmony collections (sets, maps, and weak maps)) –harmony (enable all harmony features (except typeof)) 我明白,这些不是生产就绪的function,并且正在开发中,但其中许多function已经足够好了。 有没有办法在运行时启用它们? "use strict"; "use harmony collections"; 像上面的东西。 即使这些function不仅仅是模块级别的启用,也可以确保它们在模块内部启用,而不是假定它们已启用。

通过yield&co。获得承诺的价值

我试图找出如何通过yield来获得承诺的价值,可能与“合作”: function *(){ var someVar = yield functionThatReturnsAPromise(); } 被调用的函数不是一个生成器,只是一个正常的函数。 有了上面的一些someVar == Promise ,但我想要解决的价值。 公司或其他图书馆是否有办法做到这一点?

我可以在节点js文件中指定es6吗?

为了使用es6,我们通过命令行中的和声标志 node –harmony myscript.js 有没有办法从文件内部做到这一点,如use harmony ? #! /usr/bin/node use harmony class MyScript { constructor (options) { this.options = options; } get options () { return this.options } }

和谐旗帜如何运行?

使用–harmony标志可以在node.js中实现同样的效果: node –harmony app.js 所以它会join对EcmaScript6的支持。 如何用和谐旗运行gulp命令?

有没有Node.js的标志列表?

我试图findNode.js接受的所有标志列表,特别是那些用于ES6-Harmony特征的列表,但是我找不到任何标志。 有没有这样的事情?

为什么我不能在nowjs中扩展每个人的口袋?

我试图在nowjs的每个人的pocket提供function。 我想这样做, _.extend每个人的口袋,即everyone.now 。 由于某些我无法理解的原因,_. _.extend无法在客户端正确提供该function。 这是我现在的代码: var _ = require("underscore"), everyone = require("nowjs").initialize(app); everyone.now.foo = function() {}; _.extend(everyone.now, { bar: function() {} }); console.log(everyone.now.foo); // [Function] console.log(everyone.now.bar); // undefined 在服务器和客户端,我可以做now.foo()就好了。 另一方面, now.bar()失败,因为now.bar没有定义。 客户端和服务器端都是这种情况。 我试图检查服务器端是否存在,如上面最后一行所示。 但是,这行日志undefined 。 Underscore的extend函数(显然)在其他对象上工作,所以我想这跟现在使用的“魔法命名空间”有关。 如何扩展不适用于everyone.now ,我怎样才能使它工作? 编辑2:我进一步挖掘代理。 它似乎是通过传递一个variables作为其名称不起作用来设置代理上的属性。 我删除了我的第一个编辑,因为这个testing用例缩小了。 为什么这不起作用? 这是一个错误? (大多数时候我自己问这个问题,我知道这不是,但这真的让我无能为力……) var proxy = Proxy.create({ get: function(pr, name) { console.log("get […]

以–harmony模式运行节点shell脚本

我怎样才能运行一个全局安装的节点模块,公开一个shell脚本在–harmony模式?