Tag: ecmascript 6

_iteratorError undefined不是一个函数

下面的代码取一个文件的内容,replace一些字符,并输出结果: 的test.txt: # Title ## Title 2 Paragraph index.js: #!/usr/bin/env node require('babel/polyfill') 'use strict' var fs = require('fs') , filename = process.argv[2] if (process.argv.length < 3) { console.log('Usage: node ' + process.argv[1] + ' FILENAME') process.exit(1) } function massReplace(text, replacementArray) { let results = text for (let [regex, replacement] of replacementArray) { results = results.replace(regex, […]

React服务器端渲染,如何导入一个React组件?

我正在把ES6转换成ES5。 用于NodeJS Express服务器文件的BabelJS和服务器端渲染输出到目录build / server /。 Browserify + babelify将ReactComponents输出到build / client / bundle.js文件 当试图将一个React Component从build / client / bundle.js导入到构build/服务器/文件时,应用程序崩溃,因为我正在导入一个未转换的ReactComponent。 如何导入ReactComponent而不复制服务器中的代码(重新使用client / bundle.js中的代码)?

为什么我的es6代码在npm安装后不能编译?

我用es6创build了一个npm模块。 你可以在这里看到它在github上。 package.json文件中有一些脚本可以确保es6模块的构build。 在npm模块的上下文(目录)中运行npm publish和npm install时,它起作用。 在另一个项目中运行npm install (即将模块作为依赖项)不会构buildes6模块。 在npm-debug.log文件中似乎也没有任何错误。 我真的很想明白为什么。

AWS Elastic Beanstalk:加载本地模块会导致错误

我的Hapi.js路线中有以下几条: handler: require('./publishCallSheet')(server), 这在本地工作,但是当我将代码部署到我的AWS Elastic Beanstalk实例时,我总是得到这个错误: Error: Cannot find module './publishCallSheet' 该模块是我在我的文件转换为es6兼容的第一个模块之一,所以不知道这是否重要

Sails.js + ES6:什么是最好的架构?

我刚刚从节点 0.12升级到节点 4.0。 我正在使用sails.js来构build我的应用程序。 有了节点的新的ES6支持和sails.js ,我有点困惑,我的文件夹结构将如何看起来像? 我是否仍然继续在controllers使用我的ORM或将它们移动到单独的图层? 有人可以build议一个好的项目,我可以参考,以ES6和风帆清洁架构?

Nodejs 4.x上的ES6代码:V8 4.5是直接运行ES6的原生JS引擎吗?

我正在尝试将Nodejs 1.0.x上的微型服务升级到Nodejs 4.x. 目的是为了增强这个服务的function并利用ES6的特性,特别是避免新代码段中的原型混乱。 虽然经历了一些博客,但我碰到过一个声明,ES6的模块模式是标准化的,与require()不同,它是asynchronous的。 如果模块加载是asynchronous(导入模块语法),我试图了解该文件中的代码如何利用此function? 所有依赖于这个asynchronous导入模块的代码也将变成asynchronous的? 如果是,而不是要求(同步)和导入/模块(asynchronous)的组合,我想改变每一个东西导入/模块假设性能增益。 我需要一些帮助来纠正或微调我的思维过程。

如何在node.js中使用ecma6(typescript)parsing一个Map到json

与下面的代码,我得到了app.js使用节点5.1和typescript 6.1.2错误 我想parsing的文件是来自firefox的bookmark.json。 我的目标是将其parsing为一张地图,并将其parsing为json。 'use strict'; declare function require(name:string); let fs = require('fs'); fs.readFile( './bookmarks.json', 'utf8', handleFile ); function handleFile( err, data ) { function strMapToObj(strMap) { let obj = Object.create(null); for (let [k,v] of strMap) { obj[k] = v; } return obj; } function strMapToJson(strMap) { return JSON.stringify(strMapToObj(strMap)); } function objToStrMap(obj) { let strMap […]

在一个函数中解构一个数组失败,“let is not defined”?

我想解构一个函数内的数组。 下面的示例将一个数组作为单个parameter passing,然后试图解构函数内部的参数。 看起来很简单,但节点抛出一个错误。 // volume.js function volume(box) { let [x,y,z] = box; return x * y * z; } volume([2,3,4]); 使用$ node volume.js ( $ node volume.js )运行该$ node volume.js返回以下错误: ./volume.js:2 let [x,y,z] = box; ^ ReferenceError: let is not defined at volume (./volume.js:2:3) at Object.<anonymous> (./volume.js:5:1) at Module._compile (module.js:425:26) at Object.Module._extensions..js (module.js:432:10) at […]

生成器和迭代器用于pipe理stream的正确模式是什么?

我想弄清楚如何安排一对例程来控制使用ES2015中的生成器/迭代器函数写入stream。 它是一个简单的用于nodejs的日志logging系统 我想实现的是一个外部进程可以调用来写入日志的函数。我希望新的生成器/迭代器函数意味着如果需要挂起/在这个透明的例程中。 stream.write通常应该立即返回,但可以返回false来表示stream已满。 在这种情况下,它需要等待stream.on('drain',cb)才能返回 我正在考虑写入stream的实际软件是一个生成器函数,当它准备好接受另一个请求时产生,而我提供的允许外部人员调用stream的函数是一个interator,但是我可能会这样做错误的方式。 所以,这样的事情 var stopLogger = false; var it = writer(); function writeLog(line) { it.next(line); }) function *writer() { while (!stopLogger) { line = yield; if(!stream.write) { yield *WaitDrain(); //can't continue until we get drain } } }); function *waitDrain() { //Not sure what do do here to avoid waiting stream.on('drain', […]

如何在Express中实例化一个具有转码的ES6代码的对象?

我相信我错过了一些非常简单的事情,但是我不能使用我的节点代码创build对象。 我正在使用webpack&Babel 6来为我解密。 试图按照以下说明学习: http : //blog.jeffdouglas.com/2015/05/06/start-writing-es6-javascript-in-your-node-js-apps-today/ 这是我的ES6课程: export default class ProcessData { constructor() { let output = "Module: 'Process Data' created."; console.log(output); } } 这里是我尝试使用它的路线: var express = require('express'); var router = express.Router(); var ProcessData = require('../public/node/bundle.node.js').default; var processor = new ProcessData(); router.get('/', function (req, res, next) { res.render('index', {}); }); router.post('/results', function (req, […]