Rollup将Js构建成两个文件cjs和es是什么原因

What's the reason Rollup build Js into two files cjs and es

最近我看到一个包含两个构建文件的包。

index.es.js    
index.js

我很好奇为什么会有两个Js文件。

当我导入包时

import test from 'this-package';

将使用哪个文件以及它如何确定要导入的文件?

执行 default import 时获得的文件记录在 "main" 属性.

你有两种格式的原因是不是每个构建环境都支持 ECMAScript 模块(import/export 语法,.es.js),例如节点直到版本 11 不支持 import 语法,因此,为了您的方便,以 CommonJS 模块形式的回退可用。