jquery Fullcalendar错误时刻属性,push不是函数

wd2eg0qa  于 2023-06-29  发布在  jQuery
关注(0)|答案(1)|浏览(95)

我已经按照fullcalendar的文档加载了npm包的代码。我已经下载了3个npm包:

  • fullcalendar 3.10.0
  • 力矩2.24.0
  • Jquery 3.3.1

我已经初始化了日历,但是在控制台moment moment.momentProperties.push is not a function中发生错误。

按照这个响应https://stackoverflow.com/a/43771018/5384016,如果我使用cdns工作正常,但我想使用npm包模块
Cdns脚本

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>

这是我的密码

import ....;
import moment from 'moment';
import $ from 'jquery';
import 'fullcalendar';

class CalendarEl extends React.PureComponent {
    componentDidMount() {
        $(`#calendar-1`).fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay,listWeek',
            },
            themeSystem: 'bootstrap4',
            ....other opts
    }
    render() {
        return (
            <Row className="calendar-row">
                <Col>
                    <div id={`calendar-1`} />
                </Col>
            </Row>
        );
    }
}

export default CalendarEl;

有人可以帮助我,并显示如何初始化完整的日历与npm包。我不明白为什么如果我使用相同版本的这3个软件包与cdns工作正常
我也使用webpack,不知道这是否相关

rxztt3cl

rxztt3cl1#

在我的例子中,我使用的是Vite,并且能够通过在我的bundler配置中添加别名来解决这个问题:

import {defineConfig} from 'vite';
import * as path from 'path';

export default defineConfig({
    resolve: {
        alias: {
            moment: path.resolve(__dirname, 'node_modules/moment/moment.js'),
        },
    },
    // ...

相关问题