Импортируйте ESM в код CJS с Node 10 - PullRequest
0 голосов
/ 26 апреля 2018

Как правильно импортировать ESM в CJS с Node 10 без Babel?

В настоящее время я делаю это, но получаю ошибку Not supported, я думаю, что это синтаксис Babel, но я могуне похоже на синтаксис Node 10 ... (https://medium.com/@giltayar/native-es-modules-in-nodejs-status-and-future-directions-part-i-ee5ea3001f71)

//ESM Files (.mjs), Code executed in CJS, (.js), Node 10

//CJS code
const commandFiles = fs.readdirSync(folderPath);
for (const file of commandFiles) {
            let command =  await import(`./Commands/${file}`);
        }
//ESM code
class  MyClass {}
export default new MyClass();

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

На самом деле вы должны запустить node --experimental-modules app.mjs.

Обратите внимание, что соглашение об именах должно сохранять .mjs и запускать его напрямую (в то время как .js все еще для CommonJS).

Примечание: запуск .mjs с модулями ES6 также работает в браузере с <script type=module src=path/to/app.mjs></script>

0 голосов
/ 26 апреля 2018

Хорошо, --experimental-modules флаг отсутствует в node --experimental-modules app.js.

Я думал, что это не нужно в Узле 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...