Ask coding questions

← Back to all posts
[JS] ES6 Import/Export Syntax Not Working
Zavexeon (1158)

Does repl.it support Javascript ES6's import/export syntax? For example, I'll have this line: import module from './module.js', but it'll give me a Syntax error. import { module } from './module.js' doesn't seem to work either. I've gotten this to work on other sites, so how come it doesn't work on repl.it?

Answered by Vandesm14 (2656) [earned 5 cycles]
View Answer
Comments
hotnewtop
Vandesm14 (2656)

ES6 Imports do not work on repl.it

Zavexeon (1158)

@Vandesm14 Hmm... that's unfortunate. It's a really nice feature from ES6.

amasad (3351)

It's mostly so that repl.it is not "magical." Basically anything that you write on the site should work locally. Once we start precompiling your code then we're making it a bit too magical. However, If that's something that's important we can make it work.

Zavexeon (1158)

@amasad It would be greatly appreciated. I've used import/export several times on my laptop's built-in text editor and it's worked perfectly fine. It's a very useful feature of ES6 if you want your code to be modular.

I know node.js has a method of importing other files, but personally I prefer plain JS.

GentryDemchak (0)

@amasad what percentage of browsers need to support a feature to consider it no longer "magical"? https://caniuse.com/#search=es6%20module%20import

amasad (3351)

@GentryDemchak we run on node.js. which I think this will be supported with mjs in the next release. You can use browser JavaScript using our html environment.

AdCharity (1313)

yeah idk if arrow functions even work it threw an error too

Zavexeon (1158)

@AdCharity They do for me. I made an example.

const multiply = (x, y) => {
  return x * y;
}

console.log(multiply(5, 4));
AdCharity (1313)

@Zavexeon ohh thanks maybe I was refering to promises? idk I like "normal" functions i guess

Zavexeon (1158)

@AdCharity I'll usually use normal functions too, unless I'm creating a callback in a function call.

WilliamPenrod (41)

You have to import stuff using the package import tool (the cube on the far left side of any js repl). After that you can use the package as you normally would minus the import statement.

Zavexeon (1158)

@WilliamPenrod I'm not trying to use externally hosted packages.

Thanks for the reply, though. :)