1

У меня возникает следующая ошибка, и я не понимаю, почему. Я старался изменить/проверить происхождение ошибки, но для меня все кажется правильным. И эта ошибка возникает только в production, в development работает нормально.Angularjs and Rails не работает в производстве

#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

Я использую

  • Rails 4.1.5
  • Angularjs 1.2.13

ОБНОВЛЕНИЕ

Для маршрутизации я использую 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

Uncaught Ошибка: [$ инжектором : modulerr] Эта ошибка возникает, если вы не указали зависимость 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']); 
+0

спасибо за ответ, я попробовал, что и до сих пор получаю та же ошибка. и, тем не менее, я использую «ui-router», но даже после его добавления, все еще его та же ошибка. Пожалуйста, см. мой ответ на вопрос – sameera207

6

Я также столкнулся с этой проблемой и нашел решение здесь: https://teamgaslight.com/blog/4-lessons-learned-doing-angular-on-rails. Думал, что я поделюсь тем, кто сталкивается с этой проблемой, хотя этот вопрос довольно старый.

Рельсы в производстве автоматически минимизируют переменные, которые беспорядочны.

Таким образом, в конфигурации/сред/production.rb, добавьте эту строку перед end:

config.assets.js_compressor = Uglifier.new(mangle: false) 

Ваше приложение должно быть на Rails 4+

+0

Ну, это работает. По крайней мере, это больше не вызывает ошибку .. но по какой цене? На 50% больше данных для загрузки? –