2

我目前正在将 mean.io 堆栈用于个人项目,并且一切都在本地顺利运行。我试图部署到 Heroku,但我遇到了一个模块无法正确实例化的问题!我在 Stack Overflow 上发现了类似的问题,但没有一个答案对我有用。

这是我的错误:

错误:[$injector:modulerr] 无法实例化模块意味着由于:[$injector:modulerr] 无法实例化模块 angularFileUpload 由于:[$injector:nomod] 模块“angularFileUpload”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。(dist.min.js)

好像我的模块没有加载。但根据日志,它安装正确:

mean@0.3.3 安装后 /tmp/build_5d155aeb-14b5-4414-af19-986a68df3b19 节点 node_modules/bower/bin/bower 安装

bower ng-file-upload-shim#* 未缓存的 git://github.com/danialfarid/angular-file-upload-shim-bower.git#*

bower ng-file-upload-shim#* 解决 git://github.com/danialfarid/angular-file-upload-shim-bower.git#*

bower angular#* not-cached git://github.com/angular/bower-angular.git#* bower angular#* resolve git://github.com/angular/bower-angular.git#* ... bower ng-file-upload#* 未缓存的 git://github.com/danialfarid/angular-file->upload-bower.git#*

bower ng-file-upload#* 解决 git://github.com/danialfarid/angular-file->upload-bower.git#*

...

bower ng-file-upload-shim#* 安装 ng-file-upload-shim#1.4.0

bower ng-file-upload#* 安装 ng-file-upload#1.4.0

...

凉亭角度#1.2.19 安装角度#1.2.19

...

完成,没有错误。

注意:Danial Farid 的 angularFileUpload 要求 shim.js 文件在 angular 之前加载,而后者又在 angularFileUpload 之前加载。好像之后安装了angular,这会是个问题吗?

这是我的模块,我在其中声明依赖项:

angular.module('mean.thingy', ['angularFileUpload','ngAnimate']).controller(...

最后,我的 assets.json:

"js": {
            "public/build/js/dist.min.js": [
            "public/system/lib/jquery/dist/jquery.min.js",
            "public/system/lib/angular-file-upload-master/dist/angular-file-upload-shim.js",
            "public/system/lib/angular/angular.js",
            ...
            "public/system/lib/angular-file-upload-master/dist/angular-file-upload.js",
            "public/init.js",
            "public/*/*.js",
            "public/*/{controllers,routes,services}/*.js"
            ]
        }

如果您有任何帮助或预感,我将不胜感激!谢谢!

4

4 回答 4

4

我遇到了同样的错误,并通过将文件路径添加到 karma.conf.js 来修复它

于 2014-11-28T09:26:33.527 回答
1

我遇到了同样的问题,我使用的是 mean.js 而不是 mean.io,所以可能会略有不同。

当您问“之后似乎安装了 angular,这会是个问题吗?”时,您走在正确的轨道上。我相信是这样。

要解决此问题,请确保在您的production.js配置中将脚本以及all.js中的脚本按正确的顺序放置,例如

            'public/lib/ng-file-upload/FileAPI.min.js', 
            'public/lib/ng-file-upload/angular-file-upload-shim.min.js',
            'public/lib/angular/angular.js',
            'public/lib/ng-file-upload/angular-file-upload.min.js',
于 2015-04-10T04:49:26.657 回答
1

将您的上传依赖声明更改为:

angular.module('mean.thingy', [' ngFileUpload ','ngAnimate'])...

于 2015-05-20T02:39:39.533 回答
0

就我而言,这是因为我的 angular-file-upload-shim.min.js 和 angular-file-upload.min.js 的本地副本已损坏(我没有使用 bower 获取它们)。

尝试从作者的 github 页面下载原始 .js 文件:https ://github.com/danialfarid/angular-file-upload/tree/master/dist ,点击文件,点击“Raw”,然后指向你的 JS文件复制到这些文件的本地副本。

于 2014-08-25T23:34:47.783 回答