如何调用不是来自我使用的文件的对象 require.js

How to call an object not from a file I use require.js

我在 html 页面上调用对象 AjaxForm

<script>
        require(['app', '/assets/build/js/app/ajaxform.js'], function (a) {
            a.AjaxForm.initialize({$_modx->getPlaceholder('AjaxForm.params')});
        });
</script>

但是我得到错误

Cannot read property 'AjaxForm' of undefined

我的ajaxform.js文件

define('app', ['jquery'], function ($) {
    'use strict';
    var AjaxForm = {
        initialize: function (afConfig) {

            $(document).ready(function () {
                $.jGrowl.defaults.closerTemplate = '<div>[ ' + afConfig['closeMessage'] + ' ]</div>';
            });

.......

你要回来吗AjaxForm?我认为你错过了这个:

define('app', ['jquery'], function ($) {
    'use strict';
    var AjaxForm = {
        initialize: function (afConfig) {

            $(document).ready(function () {
                $.jGrowl.defaults.closerTemplate = '<div>[ ' + afConfig['closeMessage'] + ' ]</div>';
            });
        }
    }

    return AjaxForm;
});

然后,在您的 require 中:

<script>
    require(['app', '/assets/build/js/app/ajaxform.js'], function (AjaxForm) {
        AjaxForm.initialize({$_modx->getPlaceholder('AjaxForm.params')});
    });
</script>   

希望对您有所帮助

我这样做了:

requirejs(["app", "app/ajaxform"], function () {
    require(['ajaxform'], function (e) {
        e.initialize({$_modx->getPlaceholder('AjaxForm.params')});
    });
});

并且在文件中ajaxform.js

define('ajaxform', ['jquery','jgrowl','jqueryform'], function ($,jGrowl,ajaxSubmit) {
....
return AjaxForm;