RequireJS不包括模块

问题描述 投票:0回答:1

我是第一次使用RequireJS,所以我不太熟悉它,我已经阅读了文档并看到了示例,并且试图加载datepicker(flatpickr)模块。

<script src="./assets/js/require.min.js"></script>
<script>
requirejs.config({
    baseUrl: '.'
});
</script>
<script src="./assets/js/dashboard.js"></script>

<!-- My dashboard.js -->
require.config({
    shim: {
        'flatpickrobj': ['jquery'],
        'core': ['jquery', 'flatpickrobj'],
    },
    paths: {
        'jquery': 'assets/js/vendors/jquery-3.2.1.min',
        'flatpickrobj': 'assets/plugins/flatpickr/flatpickr.min.js',
    }
});

在我的主索引页面上,我试图在这样的元素上初始化flatpickr

<script>
"use strict";
require(['flatpickrobj', 'jquery'], function(flatpickrobj, $){
    var tm;
    tm = flatpickr(".time_picker", {
        enableTime: true,
        noCalendar: true,
        dateFormat: "h:i K",
    });
});
</script>

控制台错误

Uncaught Error: Script error for "flatpickrobj"

有人可以指出我在哪里做错了吗?谢谢!

javascript requirejs
1个回答
0
投票

根据脚本的加载方式,您可能需要为该脚本提供一个初始化函数,在使用它之前,可能需要将其附加到全局或从初始化函数返回。

喜欢:

shim: {
        flatpickrobj: {
          exports: 'flatpickrobj',
          // you might not need the init function.
          init: function () {
            return {
              //* export the global flatpickrobjas to an object of window.
              flatpickrobj: flatpickrobj,
            };
          },
        },
© www.soinside.com 2019 - 2024. All rights reserved.