Open akulapid opened 9 years ago
Ack! The same problem with 6to5@3.1.2 and brfs@1.3.0 on Node@0.10.25 for Linux.
But it works perfectly fine when used like
var fs = require('fs');
var content = fs.readFileSync(__dirname + '/file', 'utf8');
I don't have to disable 6to5.
Faced this problem as well.
I'm guessing this is down to how Babel (was: 6to5) transpiles ES6 imports. This:
import fs from 'fs'
Becomes this:
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var fs = _interopRequire(require("fs"));
If you want to go this route, resorting to a regular require
call works fine:
var fs = require('fs');
Just hit that, too.
agh
:+1:
I think this could be handled upstream in static-module adding support for ES6 imports (not as much of a problem adding them here than to browserify itself since the node semantics haven't been hammered out). But then brfs should come before 6to5ify/babelify in the transform list.
looks like static-module has been updated with ES6 support ? https://github.com/substack/static-module/commit/2eb7ce0d8d42176e1537fd034be2946b9db0920c
I'm using brfs 1.4.1 which pulls in static-module 1.1.3 and still can't get brfs to work happily with ES6/babelify. Using same workaround as others for the moment, var fs = require('fs')
.
@jedrichards after some time using import
for importing CommonJS modules I realized it’s really a kind of hack. fs
is a CommonJS module and const fs = require('fs')
seems the right thing to do to me.
import
is intended for real modules which use export
for exporting things. And fs
is not one of these yet.
Tou say "import is intended for real modules which use export for exporting things. And fs is not one of these yet."
Over the last few days, I have created and imported modules that use both the module.exports
and the plain export
idiom. I have working modules that import one of each.
Mixed_Imports.zip contains GridProperties.js
, which imports both CommonConstants.js
, which uses the plain export
idiom, and PropertyDisplayHelpers.js
, which uses the module.exports
idiom.
I'm trying to do a brfs transform after 6to5ify, but get the following error.
btw, there's a double "while parsing file" in the message.
My main.js looks like this.
If I change the import to a require and don't do 6to5ify it works fine, but together it gives the error.