我正试图通过stimulusjs使用完整的日历库在rails应用程序中显示日历,而不需要webpacker。首先,我只想显示日历,不像文档中那样复杂,我试图做的控制器看起来像这样:
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有两种主要的安装方法。您使用的是本文档页面中的那个,它不导出ES6模块。这更像是导入全局变量的旧方法(在gulp/Webpack之前)。
如果你想在你的刺激控制器中import
,你要么需要使用Webpack或importmaps,就像其他FullCalendar安装页面所说的。
如果你想要一些基本的,我建议importmaps (https://github.com/rails/importmap-rails)。与Webpack相比,它只需要很少的配置,并且允许你想要做的事情。