【发布时间】:2016-03-25 05:42:59
【问题描述】:
所以我的文件ContrivedExampleA.es6中有我的示例类
export class Person {
constructor(name, age) {
this._name = name;
this._age = age;
}
get name() {
return this._name;
}
get age() {
return this._age;
}
}
export class Greeter {
constructor(person) {
this._person = person;
}
greet() {
return `Hello ${this._person.name}, I believe you are ${this._person.age} years old!`;
}
}
我使用以下 Gulp 任务编译(成功):
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
gulp.task('build', function () {
return browserify({entries: './src/ContrivedExampleA.es6', extensions: ['.es6'], debug: true})
.transform(babelify)
.bundle()
.pipe(source('example.js'))
.pipe(gulp.dest('build'));
});
所以我想在常规的 Nodejs 领域使用此代码,所以我执行以下操作:
"use strict";
var Person = require('./example').Person;
var Greeter = require('./example').Greeter;
var person = new Person("Test Person", 25);
var greeter = new Greeter(person);
console.log(greeter.greet());
但是,Person 和 Greeter 均未定义。我什至尝试在我的.babelrc 文件中包含transform-es2015-modules-commonjs,但没有任何帮助。
我做错了什么?以及如何将这些转译的 ES6 类导入常规 Nodejs 文件?
编辑
我还有一个.babelrc 文件,看起来像:
{
"presets": ["es2015"],
"plugins": ["transform-es2015-modules-commonjs"]
}
【问题讨论】:
标签: node.js gulp browserify babeljs