РЕДАКТИРОВАТЬ: Примерно через час после того, как я почесал голову и обнаружил, что мой ответ (предварительное редактирование) было отклонено, я получил следующее:
lib.js:
function doSomething() {
console.log('in module lib');
}
export {doSomething};
script.js:
import { doSomething } from './lib.js';
doSomething();
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="module" src="script.js"></script>
</body>
</html>
lib.js
, script.js
и index.html
находятся в одном каталоге.
Я добавил .js
к import { doSomething } from './lib.js';
, потому что иначе это не сработало.Согласно Mozilla некоторые упаковщики могут разрешать или требовать использования расширения для module-name
.
, но это работало только в Firefox Quantum (версия 62.0.3).Я включил Экспериментальный JavaScript в Chrome (версия 70.0.3538.77) для:
chrome: // flags / # enable-javascript-harmony
без признаков успеха, но, учитывая, что это работает на Firefox и что эта таблица совместимости показывает, что Chrome и Firefox на одном уровне совместимости, делает меня более запутанным, поэтому я, вероятно, в конечном итоге задам вопросвопрос относительно всего этого.