[英]“Failed to instantiate module 'app' due to” in angular and mean stack
所以我最近在玩特快節點玉和角的均值堆; 實際上,我認為翡翠存在某種問題; 對於復雜性,我深表歉意,但我實在想不通,希望從外界獲得一些不同的看法。 所以是這樣:
消息本身:
Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:nomod] Module 'app' 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.3.3/$injector/nomod?p0=app
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:63:12
好的,我們轉到角度js的63: return new ErrorConstructor(message);
->好吧,它什么也沒說,但是有些想法表明問題確實隱藏在任何地方;
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:1747:17
請轉到1747: throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " +
->再次沒有什么可理解的;那么您怎么看?
at ensure (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:1671:38)
at module (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:1745:14)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:4041:22
at forEach (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:322:20)
at loadModules (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:4025:5)
at createInjector (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:3951:11)
at doBootstrap (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:1434:20)
at bootstrap (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js:1455:12)
http://errors.angularjs.org/1.3.3/$injector/modulerr?p0=app&p1=Error%3A%20%….googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.3%2Fangular.js%3A1455%3A12)
文件結構:
_client
vendor //for bower installations
styles
application
angularCore.js
_server
views
core.jade
states
home.html
server.js
>
server.js :
==stuff===
app.set('views', path.join(__dirname, '_server/views'));
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, '_client/')));
app.get('/states/:Path', function(req, res) {
res.render('states/' + res.params.Path + '.html');
});
app.get('*', function(req, res) {
res.render('core');
console.log(res);
});
==stuff==
_server / views / core.jade:
doctype html
html(lang="en")
head
link(rel="shortcut icon", href="favicon.ico", type="image/x-icon")
link(rel="stylesheet", href="styles/bootstrap.css")
link(rel="stylesheet", href="vendor/toastr/toastr.min.css")
link(rel="stylesheet", href="styles/core.css")
body(ng-app='app')
div(ng-view)
h1 Some text
script(type='text/javascript', src='vendor/jquery/dist/jquery.min.js')
script(type='text/javascript', src='https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.js')
script(type='text/javascript', src='http://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular-route.js')
script(type='text/javascript', src='http://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular-resource.js')
script(type='text/javascript', src='./application/angularCore.js')
_client / application / angularCore.js:
var app = angular.module('app', ['ngResource', 'ngRoute']);
app.config(function($locationProvider, $routeProvider) {
$locationProvider.html5mode(true);
$routeProvider
.when('/', {
templateUrl: '/states/home',
因此,問題的狀態狀態/home.html未加載到網絡標簽中,如我所見;
controller: 'controllerMain'
});
}
app.controller('controllerMain', function($scope) {
$scope.myVar = "Hello peolm";
});
_ SERVER /視圖/美國/ home.html的:
<h1>That's the state home</h1>
<h2>{{myVar}}</h2>
因此應用的邏輯是將localhost:3030轉到'/',然后由於angular的原因
when('/', {
templateUrl: '/states/home',
和快遞的
app.get('/states/:Path', function(req, res) {
res.render('states/' + res.params.Path);
});
收到home.html,我們很好,但是home.html沒有呈現,甚至沒有加載,我也不知道是因為什么; 瀏覽器,客戶端下載的所有文件,“ home.html”除外;
所以這是主要問題:所有內容都已下載,我為什么找不到“ app”模塊?
這很滑稽。
問題出在這里: $locationProvider.html5mode(true);
好吧,沒有html5mode,但是html5 M ode;
乍一看,我認為您在這里缺少.html
app.get('/states/:Path', function(req, res) {
res.render('states/' + res.params.Path + '.html');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.