Search
Write a publication
Pull to refresh

Comments 2

CJS-модуль импортируется напрямую в ES6-модуль средствами JavaScript без прекомпиляции, если делать так:

// index.js
import {default as cjs} from './commonjs.js';

console.log(cjs.sum(1, 2));
console.log(cjs.aboba());
  • чтобы скрипт index всегда запускался в ES6-режиме, у него должно быть расширение *.mjs;

  • чтобы скрипт commonjs всегда считывался в режиме CommonJS, у него должно быть расширение *.cjs;

  • если у скрипта в пакете расширение просто *.js, то формат модулей регулируется через type в package.json (commonjs | module);

Я в TypeScript не силён, но думаю, что можно его заставить транспилировать код в ES6-формат, а не в CommonJS.

Я уверен, что если бы CommonJS был достаточно хорош, не придумывали бы ES6, но если всё-таки придумали ES6, то должны быть весомые поводы транспилировать свой проект в CommonJS.

Sign up to leave a comment.

Articles