我收到以下错误,我无法理解原因。我尽力改变/检查错误的起源,但对我来说,一切似乎都是正确的。并且此错误仅发生在production
,development
中它可以正常工作。
#error
Uncaught Error: [$injector:modulerr] Failed to instantiate module recipeApp due to:
Error: [$injector:nomod] Module 'recipeApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
#app.js
var mod = angular.module('recipeApp',[]);
#application.js
//= require jquery
//= require jquery_ujs
//= require pixel-admin.min
//= require app
#config/initializers/productio.rb
config.assets.compile = false
config.assets.precompile = ['*.js', '*.css']
config.assets.js_compressor = Uglifier.new(:mangle => false)
config.assets.js_compressor = :uglifier
#app/views/layout/application.html.erb
<body class="theme-default no-main-menu main-navbar-fixed" ng-app="recipeApp">
当我通过萤火虫检查来源时,我可以在recipeApp
和js
html
我正在使用
对于路由我正在使用ui.router,我怎么试图添加它,但仍然是相同的
#app/views/layouts/application.html.erb
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.4/angular.js"></script>
<script src="//angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>
在我的
中app/assets/javascripts/app.js
'use strict';
angular.module('recipeApp',["ui.router"]);
答案 0 :(得分:6)
我也遇到了这个问题并在此处找到了解决方案:https://teamgaslight.com/blog/4-lessons-learned-doing-angular-on-rails。我认为即使这个问题已经相当陈旧,也会遇到遇到这个问题的人。
生产中的Rails会自动缩小混乱的变量。
所以在config / environments / production.rb中,在end
:
config.assets.js_compressor = Uglifier.new(mangle: false)
您的应用需要使用Rails 4 +
答案 1 :(得分:0)
未捕获错误:[$ injector:modulerr]如果在较新版本的angular中未提供ngRoute依赖项,则会发生此错误。
您必须在模块中提供ngRoute依赖项,因为它是新角度版本中的独立模块。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular-route.min.js"></script>
var app = angular.module('recipeApp', ['ngRoute']);