【问题标题】:$injector nomod Module 'angularFileUpload' is not available$injector nomod 模块“angularFileUpload”不可用
【发布时间】:2014-08-24 01:09:57
【问题描述】:

我目前正在将 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#* 未缓存的 git://github.com/angular/bower-angular.git#* bower angular#* 解决 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#*

...

凉亭 ng-file-upload-shim#* 安装 ng-file-upload-shim#1.4.0

凉亭 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"
            ]
        }

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

【问题讨论】:

  • 这个问题解决了吗,任何更新都会有帮助
  • 不幸的是,还没有:(
  • 不是针对这种特殊情况,但可能对一些人有帮助(这篇文章在谷歌上搜索这个问题的几率很高):如果你的模块在一个单独的文件中,它也必须包含在 html 中:

标签: angularjs heroku bower mean.io angular-file-upload


【解决方案1】:

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

【讨论】:

  • 将文件路径添加到 Karma 是什么意思?具体在哪里?
  • 我在运行文件上传功能测试时收到此错误。 Karma 是我们使用的测试运行程序,它给出了该错误,因为它在运行测试时无法找到依赖项。当我手动将js文件<some location>/angular-file-upload/angular-file-upload.js添加到测试运行器的配置文件(在我们的例子中是karms.conf.js)时,它得到了解决。
【解决方案2】:

我遇到了同样的问题,我使用的是 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',

【讨论】:

  • 它解决了我的问题。我也在使用 mean.js。谢谢。
【解决方案3】:

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

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

【讨论】:

  • 只有在实际从使用 nervgh/angular-file-upload 更改为 danialfarid/ng-file-upload...时,才应更改此依赖项。
【解决方案4】:

在我的情况下,这是因为我的 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 文件指向这些文件的本地副本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2020-11-09
    • 2016-04-08
    相关资源
    最近更新 更多