3

Ich baute eine App mit Yeoman, mit Generator-Winkel-Jade-Stift, und alles funktionierte perfekt in der Entwicklungsversion mit grunt serve, kein einziger Fehler in der Konsole, aber beim Aufbau der App mit grunt serve:dist, meine App verwandelt sich in eine leere Seite, mit dem folgenden Fehler in der Konsole:Yeoman Generator-eckig grunt serve: dist bricht meine App

66e3c8ac.vendor.js:4 Uncaught Error: 
Failed to instantiate module monopolyApp due to: 
Error: [$injector:nomod] Module 'monopolyApp' 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. 
http://errors.angularjs.org/1.2.15/$injector/nomod?p0=mon... 
    at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:12729 
    at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:20410 
    at b (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:19993) 
    at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:20305 
    at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:27065 
    at Array.forEach (native) 
    at f (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:13059) 
    at k (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:27005) 
    at Fa (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:28542) 
    at e (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:18649) 

Was ich versucht habe

ich habe auf diese ziemlich viel Forschung getan Fehler, und fand ein paar Korrekturen, aber keiner von ihnen arbeitete für mich ... Einer der Ich erwähnte, dass useminPrepare die Skripte minimieren würde, und dann würde uglify die Skripte erneut minimieren, die Skripte korrumpieren und sie würden uglify aus dem useminPrepare-Block entfernen, um es zu lösen. Ich habe das versucht und es hat mir nur einen Fehler gegeben, dass es die Uglify-Aufgabe nicht finden konnte und abgebrochen wurde.

Ich fand einen anderen Fix, der besagt, <!-- build:js scripts/vendor.js --> zu <!-- build:js(app/..) scripts/vendor.js --> oder <!-- build:js(./) scripts/vendor.js --> zu ändern - Mit dieser Methode wurden die Fehler von der Konsole entfernt, aber immer noch mit einer leeren Seite.

Ich habe das Modul richtig am Körper befestigt body(ng-app="monopolyApp") und dies ist, wie mein Modul in dem app.js definiert ist:

angular 
    .module('monopolyApp', [ 
    'ngCookies', 
    'ngResource', 
    'ngSanitize', 
    'ngRoute', 
    'LocalStorageModule' 
    ]) 

und in der Steuerung (main.js)

angular.module('monopolyApp') 
    .controller('MainCtrl', function ($scope, $window, $timeout, localStorageService) { 

Ich habe auch die index.jade, app.js und main.js in this gist für weitere Referenz enthalten. Wenn weitere Informationen benötigt werden, um diesen Fehler zu diagnostizieren, lassen Sie es mich bitte wissen, aber ich habe jeden Fix ausprobiert, den ich finden kann und nichts funktioniert. Jede Hilfe wird geschätzt. Vielen Dank!

Antwort

2

Wenn Sie eine App mit Yeoman erstellen, kann sie einen Modulnamen in Ihre Grunt-Datei und Ihre bower.json-Datei aufnehmen. Also schauen Sie unter Build Aufgabe in Gruntfile.js für z.B .:

Gruntfile.js: 
    372  dist: { 
    373   options: { 
    374:   module: 'sitesApp', 

Change ‚sitesApp‘, was auch immer du bist die App in Ihrem Angular Code aufrufen z.B. 'monopolyApp'

+0

Ich werde das nächste Mal versuchen, aber es schien ein Problem mit dem Generator selbst und nicht mein Code, weil es den gleichen Fehler gab, wenn ich eine App mit der Standardvorlage zu veröffentlichen versuchte, startet es Sie raus mit. Alles, was ich getan habe, war, meinen Stylus manuell in css und jade in html umzuwandeln und dann mit dem normalen Generator-eckigen zu laufen, und es funktionierte gut. Ich werde dies für die Zukunft berücksichtigen. Upvoted für jetzt, aber ich werde als richtige Antwort markieren, sobald ich den Generator wieder verwenden und es ausprobieren. Vielen Dank! –