我正在尝试将javascript库(WaveSurfer)包含到我的Angular应用程序中(使用Mean.io)。
问题是,每次运行grunt
时,控制台中都会出现警告:
在packages \ tracks \ _public \ _服务\ tracks.js中: 'WaveSurfer'未定义。
以下是我的不同文件的代码:
公开/控制器/ tracks.js
angular.module('mean').controller('PlayerController', ['$scope', 'Global', 'Tracks','myWaveSurfer',
function($scope, Global,Tracks, myWaveSurfer) {
$scope.global = Global;
//Player WaveSurfer
var wavesurfer = Object.create(myWaveSurfer);
wavesurfer.load('music.mp3');
公开/服务/ tracks.js
angular.module('mean.tracks').factory('myWaveSurfer', function() {
return WaveSurfer; /*Warning here*/
});
wavesurfer.min.js 的内容如下所示:
var WaveSurfer = {
defaultParams: {...}
init: function(params) {...}
...
}
我正确地将库包含到config/assets.json
中,因此可以加载库。
我可以在Chrome控制台上看到它:
<script type="text/javascript" src="/bower_components/wavesurfer.js/build/wavesurfer.min.js"></script>
它仅适用于grunt --force
,但是有没有正确包含此库而没有警告的解决方案?
提前致谢!
答案 0 :(得分:0)
我假设你在Node env。
中将此添加到您的全局:
GLOBAL.WaveSurfer = {};
或者您可以使用require
GLOBAL.WaveSurfer = require('...');
如果require
确保库module.exports
为全局对象。