Javascript 获取错误:模块';myApp';不可用!使用AngularJS 1.6.1、Node.js和Express.js
我是angularJS、Node和Express中的乞丐,在教程的一开始,我将使用angularJS、Node和Express编写一个非常简单的待办事项列表。 我正在使用Node.js v7.9.0、Express.js v4.15.2和AngularJS v1.6.1。 我正在使用nodemon运行我的server.js 我不断出现3个错误,我不明白为什么:Javascript 获取错误:模块';myApp';不可用!使用AngularJS 1.6.1、Node.js和Express.js,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,我是angularJS、Node和Express中的乞丐,在教程的一开始,我将使用angularJS、Node和Express编写一个非常简单的待办事项列表。 我正在使用Node.js v7.9.0、Express.js v4.15.2和AngularJS v1.6.1。 我正在使用nodemon运行我的server.js 我不断出现3个错误,我不明白为什么: SyntaxError: expected expression, got '<'[En savoir plus] app.js
SyntaxError: expected expression, got '<'[En savoir plus] app.js:1
SyntaxError: expected expression, got '<'[En savoir plus] route.js:1
Error: [$injector:modulerr] Failed to instantiate module myApp due to:
[$injector:nomod] Module 'myApp' 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.6.1/$injector/nomod?p0=myApp
minErr/<@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:68:12
module/<@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:2183:17
ensure@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:2107:38
module@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:2181:14
loadModules/<@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:4736:22
forEach@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:357:11
loadModules@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:4720:5
createInjector@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:4642:19
doBootstrap@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:1838:20
bootstrap@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:1859:12
angularInit@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:1744:5
@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:32977:5
trigger@https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js:3314:5
My server.js文件:
var express = require('express');
var app = express();
var bodyparser= require('body-parser');
var method = require('method-override');
//application
app.get('*', function(req, res){
res.sendFile('/public/index.html', {root : __dirname});
});
app.listen(3000);
我的app.js:
angular.module('myApp', ['appRoutes']);
My route.js:
angular.module('appRoutes', ['ngRoute'])
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/views/home.html'
}
)
});
angular.module('myApp')
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/views/home.html'
}
)
});
//with test controller
angular.module('myApp')
.controller('TestCtrl',['$scope', function($scope){
$scope.it = 'works';
}]);
My index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-route.js"></script>
<script src="app.js"></script>
<script src="route.js"></script>
<title>Une To-Do Liste</title>
</head>
<body ng-app="myApp">
<h1>To-do List</h1>
<div ng-view></div>
</body>
</html>
你要做什么
待办事项清单
home.html包含一个简单的测试,但无法显示:
<h1>Hello</h1>
你好
目前,网站仅显示my index.html中的字符串“待办事项列表”。
为什么我的app.js和route.js会出现两个语法错误?为什么我的“myApp”模块没有定义?问题是由于缺少包含ngRoute模块造成的。请查看我的app.js:
angular.module('myApp', ['ngRoute']);
My route.js:
angular.module('appRoutes', ['ngRoute'])
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/views/home.html'
}
)
});
angular.module('myApp')
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/views/home.html'
}
)
});
//with test controller
angular.module('myApp')
.controller('TestCtrl',['$scope', function($scope){
$scope.it = 'works';
}]);
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-route.js"></script>
<script src="app.js"></script>
<script src="route.js"></script>
<title>Une To-Do Liste</title>
</head>
<body ng-app="myApp">
<div ng-controller="TestCtrl">
<h1>To-do List</h1>
it {{it}}
</div>
</body>
</html>
你要做什么
待办事项清单
它{{it}
您需要更改文件的顺序。当您在myApp
中注入appRoutes
时,应该对其进行定义
<script src="route.js"></script>
<script src="app.js"></script>
在route.js中,检索定义的appRoutes
并添加配置部分
angular.module('appRoutes')
.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/views/home.html'
}
)
});
谢谢,但它不起作用。。。显示{{it}}而不是我不懂的'works',我在我的app.js中用“angular.module('myApp',['appRoutes']);”包含appRoutes,不是吗?你需要定义module angular.module('myApp',['ngRoute']);谢谢,但是我一直在获取这两个语法错误,第三个错误仍然告诉我模块“myApp”不是available@ElyaBernard经过