这是我定义 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 (运行杏仁任务)时,多数民众赞成在成功,但我在运行时收到一个错误说
未捕获的错误:未定义的缺失
我尝试了不同的写作方式,但都失败了......任何人都能够展示光芒?