çıktı dosyasıİlave define dönüşümü-es2015-modülleri-AMD hırıltı-karmaşası
import Logger from "logger";
export default class Greeter {
constructor(name) {
this.name = name || '';
console.log('Hello', name);
}
notify() {
console.log('It is my duty to inform you that this JS is ES6!');
}
getName() {
Logger.log('Called getName');
return this.name;
}
}
çıktı dosyası ile, hırıltı
define([], function() {
define(['exports', 'logger'], function (exports, _logger) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _logger2 = _interopRequireDefault(_logger);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var _createClass = function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
var Greeter = function() {
function Greeter(name) {
_classCallCheck(this, Greeter);
this.name = name || '';
console.log('Hello', name);
}
_createClass(Greeter, [{
key: 'notify',
value: function notify() {
console.log('It is my duty to inform you that this JS is ES6!');
}
}, {
key: 'getName',
value: function getName() {
_logger2.default.log('Called getName');
return this.name;
}
}]);
return Greeter;
}();
exports.default = Greeter;
});
});
çıktı dosyası ile, CLI
iledefine(['exports', 'logger'], function (exports, _logger) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _logger2 = _interopRequireDefault(_logger);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var _createClass = function() {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
var Greeter = function() {
function Greeter(name) {
_classCallCheck(this, Greeter);
this.name = name || '';
console.log('Hello', name);
}
_createClass(Greeter, [{
key: 'notify',
value: function notify() {
console.log('It is my duty to inform you that this JS is ES6!');
}
}, {
key: 'getName',
value: function getName() {
_logger2.default.log('Called getName');
return this.name;
}
}]);
return Greeter;
}();
exports.default = Greeter;
});
{
"presets": ["es2015"],
"plugins": ["transform-es2015-modules-amd"]
}
.babelrc ben hırıltı-babel eklentisi aracılığıyla dönüşümü yaparken fazladan define()
benim ES5 kaynağına ekleniyor bu garip davranış içine çalıştırıyorum. Repo'yu çektim ve babel-core ve babel-preset-es2015'i en son sürümlere güncelledim ve işe yaramadı.
Babil-grunt içine kazmak, dönüşüm yapmak için babel.transformFileSync
gibi görünüyor. Babel-cli paketinde babel.tranform
kullanılır. Ancak babel.transformFileSync
sadece bir dosya okuyor ve içeriği babel.tranform
'a aktarıyor.
Bazı küçük yapılandırma seçeneklerinde veya başka bir yerde eksik gibi hissediyorum. Ne eksik olduğumu gören var mı?
Neden .babelrc'ünü okuyorsunuz? Bu, eklentinin hem mantığınız hem de Babel tarafından okunacağı anlamına gelir, yani iki kez belirtilir. Bu dönüşümü iki kez çalıştırır ve bunun gibi çift yuvaya neden olur. – loganfsmyth
@Jason - Sen sadece pastamı kurtardın! Benim durumumda ek Babel yapılandırma bilgisi package.json içinde ve ben Gulp kullanıyorum. Fakat işler aynı kafa karıştırıcı şekilde çalışır. –