Running Chrome 61 which is supposed to support module loading with import
.
Indeed Paul's demo works for me. However, when I try it myself I get a JS error "Unexpected token import". Chrome seems to balk at import
:
test.html
<!doctype html>
<html>
<body>
<script src="test.js"></script>
</body>
</html>
test.js:
import {hello} from './something.js'
console.log(hello())
something.js
export {hello}
function hello() {
return "hello world"
}
Why does Chrome not understand "import"
Finally... figured it out.
chrome://flags
search forimport
enable ES6 import syntax. Restart Chrome. Be happy.For those of you who want to know exactly what worked for me, it was kind of a combination of a couple answers from above. I also had to enable the ES6 import capabilities of Chrome by typing chrome://flags in the URL bar and searching for "import".
First the HTML:
So as you can see just add the type "module" to your script tag, then below you do the import. For my test the CalcArea.js file is this:
That should be
<script type=module src=test.js>
. The entire syntax is subtly changed in module scripts (import
andexport
are allowed, as well as strict mode being mandatory).