Requirejs 速度不是一个函数

Requirejs 速度不是一个函数,requirejs,velocity.js,Requirejs,Velocity.js,我正在使用requirejs加载我的文件和依赖项。 然后我使用grunt将所有内容压缩到一个文件中。我可以看到我的所有插件都在我的最终js文件中加载/编译(首先是我的所有特定于应用程序的方法) 我有一个带有一些值的select输入,当select更改时-根据值,我想在我的页面上显示/隐藏一些其他内容。非常直截了当 我不太明白的是,为什么我调用它时会得到“速度不是函数”。我知道这是因为它看不到什么东西——但我能说的是,一切都在那里 这是我的配置文件和包含事件侦听器的应用程序文件。 在速度被调用之前

我正在使用requirejs加载我的文件和依赖项。 然后我使用grunt将所有内容压缩到一个文件中。我可以看到我的所有插件都在我的最终js文件中加载/编译(首先是我的所有特定于应用程序的方法)

我有一个带有一些值的select输入,当select更改时-根据值,我想在我的页面上显示/隐藏一些其他内容。非常直截了当

我不太明白的是,为什么我调用它时会得到“速度不是函数”。我知道这是因为它看不到什么东西——但我能说的是,一切都在那里

这是我的配置文件和包含事件侦听器的应用程序文件。 在速度被调用之前,一切都运转良好。看看这些文档,我似乎正确地调用了velocity

config.js

'use strict';

/**
 * RequireJS configuration.
 *
 */
requirejs.config({
    'baseUrl': '/resources/js/',
    'paths': {
        'jquery': '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min',
        'bootstrap': 'vendor/bootstrap.min',
        'domReady': 'plugins/domReady',
        'velocity': 'plugins/velocity.min'
    },
    'shim': {
        'bootstrap': {
            'deps': ['jquery']
        }, 'velocity': {
            'deps': ['jquery']
        }
    }
});

/**
 * Application initialization.
 *
 * @param {object} application | Main application module.
 * @returns {object}
 *
 */
requirejs(['application'], function (application) {
    application.initialize();
});
'use strict';
/**
 * Primary application module.
 *
 * @param {function} $ | jQuery library.
 * @returns {object}
 *
 */

define([
    'jquery',
    'bootstrap',
    'velocity',
    'domReady!'
], function ($) {
    var initialize = function () {
        console.info('Application initialized');

    /**
     * Event listener for change.
     *
     * @param {object} event | The change event.
     * @returns void
     *
     */
    $('#mySelect').change(function (event) {
        switch ($(this).val()) {
            case'Value One':
                $('#isValueOne').velocity('slideDown', { 'duration': 1500 });
                break;
            case'Small Value Two':
                break;
            case'Value Three':
                break;
            default:
                break;
            }
        });
    };

    return {
        'initialize': initialize
    };
}); 
application.js

'use strict';

/**
 * RequireJS configuration.
 *
 */
requirejs.config({
    'baseUrl': '/resources/js/',
    'paths': {
        'jquery': '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min',
        'bootstrap': 'vendor/bootstrap.min',
        'domReady': 'plugins/domReady',
        'velocity': 'plugins/velocity.min'
    },
    'shim': {
        'bootstrap': {
            'deps': ['jquery']
        }, 'velocity': {
            'deps': ['jquery']
        }
    }
});

/**
 * Application initialization.
 *
 * @param {object} application | Main application module.
 * @returns {object}
 *
 */
requirejs(['application'], function (application) {
    application.initialize();
});
'use strict';
/**
 * Primary application module.
 *
 * @param {function} $ | jQuery library.
 * @returns {object}
 *
 */

define([
    'jquery',
    'bootstrap',
    'velocity',
    'domReady!'
], function ($) {
    var initialize = function () {
        console.info('Application initialized');

    /**
     * Event listener for change.
     *
     * @param {object} event | The change event.
     * @returns void
     *
     */
    $('#mySelect').change(function (event) {
        switch ($(this).val()) {
            case'Value One':
                $('#isValueOne').velocity('slideDown', { 'duration': 1500 });
                break;
            case'Small Value Two':
                break;
            case'Value Three':
                break;
            default:
                break;
            }
        });
    };

    return {
        'initialize': initialize
    };
}); 
html

<div id="isValueOne">
    <h1>Hello World!</h1>
</div> 
编辑

以下是我的Grunfile.js配置:

grunt.initConfig({
    'pkg': grunt.file.readJSON('package.json'),
        'requirejs': {
            'options': {
                'baseUrl': 'resources/js',
                'mainConfigFile': 'resources/js/config.js',
                'name': 'application',
                'include': ['config'],
                'wrapShim': true,
                'out': 'resources/js/application.js'
            },
            'development': {
                'options': {
                    '_build': false,
                    'optimize': 'none',
                    'out': '../web/resources/js/application.js'
                }
            },
            'production': {
                'options': {
                    '_build': true,
                    'optimize': 'uglify',
                    'out': '../web/resources/js/application.min.js'
                }
            }
        },
        ....
        ....

       grunt.loadNpmTasks('grunt-contrib-requirejs');
       grunt.registerTask('development', ['requirejs:development', 'sass', 'watch']);

要运行,我使用
grunt development

您是否尝试验证$(“#isValueOne”)的内容?可能只是对象读取不正确,无法调用。velocity()
isValueOne
是一个隐藏的div
display:none默认情况下。当页面加载时,我可以在检查页面时看到元素。目前,div里面只有
Hello World
。@Damon你应该在问题中添加你给Grunt的配置,将你的模块压缩成一个包。这是我的另一个问题-我肯定我没有正确的配置。