我觉得我失去了理智,因为答案应该是如此简单,我对angular和nodejs不熟悉,而且我正在努力创建一个将它们组合在一起的应用程序。
"错误:[$ injector:nomod]模块' myApp'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。"
公共/控制器/ HomeController中:
(function () {
'use strict';
angular.module('myApp').controller('homeController', homeController);
function homeController() {
var vm = this;
vm.fillerData = "FillerData"
}
}) ();
公共/ index.html中:
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>Dit is de index</title>
<script src="res/js/angular.js" type="text/javascript" defer="defer"></script>
<script src="controllers/homeController.js" type="text/javascript" defer="defer"></script>
</head>
<h1>What</h1>
<body ng-controller="homeController as homeCtrl">
{{ homeCtrl.fillerData }}
</body>
</html>
路由器/ index.js:
var router = require('express').Router();
router.get('/index', function (req, res) {
res.sendfile('public/index.html');
});
router.get('/home', function (req, res) {
res.sendfile('public/home.html');
});
module.exports = router;
和/server.js:
var express = require('express');
var app = express();
var routes = require('./router');
app.use(express.static(__dirname + '/public'));
app.use('/', routes);
require('router/index.js')(app);
app.listen(3000);
console.log("App listening on port 3000");
所有必要的套餐也已安装,任何帮助将不胜感激
答案 0 :(得分:3)
您的模块应该注入空依赖项,更改为
angular.module('myApp',[]).controller('homeController', homeController);
答案 1 :(得分:3)
如果你想创建一个新的module
,你需要传递一个空的array
作为第二个参数(如果你有依赖于其他模块,而不是告诉数组中的模块),会告诉你角色你正在创建一个新模块。
请注意使用angular.module('myModule',[])将创建 模块myModule并覆盖任何名为myModule的现有模块。使用 angular.module('myModule')来检索现有模块。
angular.module('myApp',[]).controller('homeController', homeController);
如果你想获得已经创建的模块,那么你需要像
那样调用angular.module('myApp',[])....
答案 2 :(得分:0)
你必须改变
angular.module('myApp').controller('homeController', homeController);
要:
angular.module('myApp', []).controller('homeController', homeController);
创建 module。