diff --git a/README.md b/README.md
index 343ee5b9..c7ee8532 100644
--- a/README.md
+++ b/README.md
@@ -141,9 +141,13 @@ require("html?interpolate=require!./file.ftl");
${require('./components/gallery.html')}
```
-### Export format
+### Export formats
-By default HTML is exported with ```module.exports```, but you can use ```exportAsEs6Default``` flag to export it as ES6 default export (via ```exports.default```)
+There are different export formats available:
+
++ ```module.exports``` (default, cjs format). "Hello world" becomes ```module.exports = "Hello world";```
++ ```exports.default``` (when ```exportAsDefault``` param is set, es6to5 format). "Hello world" becomes ```exports.default = "Hello world";```
++ ```exports default``` (when ```exportAsEs6Default``` param is set, es6 format). "Hello world" becomes ```exports default "Hello world";```
### Advanced options
diff --git a/index.js b/index.js
index 78c0af71..413543c9 100644
--- a/index.js
+++ b/index.js
@@ -125,9 +125,15 @@ module.exports = function(content) {
content = JSON.stringify(content);
}
- var exportsString = config.exportAsEs6Default? "exports.default": "module.exports";
-
- return exportsString + " = " + content.replace(/xxxHTMLLINKxxx[0-9\.]+xxx/g, function(match) {
+ var exportsString = "module.exports = ";
+ if (config.exportAsDefault) {
+ exportsString = "exports.default = ";
+
+ } else if (config.exportAsEs6Default) {
+ exportsString = "exports default ";
+ }
+
+ return exportsString + content.replace(/xxxHTMLLINKxxx[0-9\.]+xxx/g, function(match) {
if(!data[match]) return match;
return '" + require(' + JSON.stringify(loaderUtils.urlToRequest(data[match], root)) + ') + "';
}) + ";";
diff --git a/test/loaderTest.js b/test/loaderTest.js
index a5a67f73..c5d97e5e 100644
--- a/test/loaderTest.js
+++ b/test/loaderTest.js
@@ -126,11 +126,18 @@ describe("loader", function() {
'module.exports = "
";'
);
});
+ it("should export as default export for es6to5 transpilation", function() {
+ loader.call({
+ query: "?exportAsDefault"
+ }, 'Hello world!
').should.be.eql(
+ 'exports.default = "Hello world!
";'
+ );
+ });
it("should export as es6 default export", function() {
loader.call({
query: "?exportAsEs6Default"
}, 'Hello world!
').should.be.eql(
- 'exports.default = "Hello world!
";'
+ 'exports default "Hello world!
";'
);
});
});