为什么 fullcalendar 报错说它不提供名为 'default' 的导出?

Why does fullcalendar give the error that it does not provide an export called 'default'?

我正在尝试通过 stimulusjs 使用 fullcalenar 库在没有 webpacker 的 rails 应用程序中显示日历。 首先,我只想显示日历,没有复杂性,如文档中所示,我尝试做的控制器如下所示:

import FullCalendar from 'https://cdn.jsdelivr.net/npm/@fullcalendar/core@5.10.0/main.global.min.js'

export default class extends Controller {
  static targets = ["calendar"]
  connect() {

    this.init()
  }

  init() {

    this.calendar = new FullCalendar.Calendar(this.calendarTarget, {
      initialView: 'dayGridMonth',
    })

    this.calendar.render()
  }

}
<link href="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.0/main.min.css" rel="stylesheet" />

<div data-controller="fullcalendar">
  <div data-target="calendar"></div>
</div>

它抛出但我不明白的错误如下:

Failed to autoload controller: fullcalendar SyntaxError: The requested module 'blob:http://localhost:3000/1c3e6673-aecc-4144-b5d6-471fb03b5e0f' does not provide an export named 'default'

FullCalendar 有两种主要的安装方法。您正在使用 this documentation page 中的那个,它不导出 ES6 模块。它更像是导入全局变量的旧 (pre-Gulp/Webpack) 方式。

如果您想 import 在您的 Stimulus 控制器中,您将需要使用 Webpack 或其他导入映射,就像 the other FullCalendar installation page says.

如果您想要一些基本的东西,我建议您使用 importmaps (https://github.com/rails/importmap-rails)。与 Webpack 相比,它只需要很少的配置,并且允许您尝试做的事情。