По какой причине Rollup собирает Js в два файла cjs и es - PullRequest
0 голосов
/ 06 июня 2019

Недавно я увидел пакет с двумя встроенными файлами.

index.es.js    
index.js

enter image description here

Мне любопытно, почему существуют два файла Js.

Когда я импортирую пакет

import test from 'this-package';

, какой файл будет использоваться и как он определяет, какой файл будет импортирован?

1 Ответ

1 голос
/ 06 июня 2019

Файл, который вы получаете при выполнении импорта по умолчанию , задокументирован в package.json этого пакета (как и в большинстве пакетов npm) в свойстве "main".

Причина, по которой у вас есть два формата, заключается в том, что не каждая среда сборки поддерживает модули ECMAScript (синтаксис импорта / экспорта, .es.js), например, узел не поддерживает синтаксис import, поэтому для вашего удобства доступен запасной вариант в виде модуля CommonJS .

...