1

这是我定义 requirejs 任务的 grunt 文件部分:

    requirejs: {
        dist: {
            options: {
                name: 'almond',
                mainConfigFile: "<%= yeoman.app %>/js/main.js",
                out: '.tmp/require/js/app.js',
                insertRequire: ['startup'],
                optimize: 'none'
            }
        }
    }

现在在我的 andular 应用程序中,我主要加载通过 bower 下载的供应商源。

但是我需要加载amplitude.com 模块,它似乎没有凉亭链接。

所以这是我的代码:

define(['application/amplitude/module', 'require'], function (module, require) {
    'use strict';

    module.provider('$amplitude', [function $amplitudeProvider() {
        this.$get = ['$q', function ($q) {
            var sync = $q.defer();

            requirejs.config({
                paths: {
                    'amplitude': 'https://d24n15hnbwhuhn.cloudfront.net/libs/amplitude-3.4.1-min.gz'
                },
                shim: {
                    'amplitude': {
                        exports: 'amplitude'
                    }
                }
            });
            require(['amplitude'], function (amplitude) {
                sync.resolve(amplitude);
            });
            return {
                getInstance: function() { return sync.promise; }
            }; 
        }];
    }]);
});

它在开发模式下就像一个魅力。现在,当我尝试 grunt release (运行杏仁任务)时,多数民众赞成在成功,但我在运行时收到一个错误说

未捕获的错误:未定义的缺失

我尝试了不同的写作方式,但都失败了......任何人都能够展示光芒?

4

0 回答 0