0

So I am creating a new module with a single controller, saved in controllers directory off of the app directory:

var tables = angular.module('tables',[]).controller('setName', function ($scope) {
  $scope.userName = userName;
  $scope.userPassword = userPassword;
});

I have the following html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ang</title>

</head>
<script src="/socket.io-client/socket.io.js"></script>
<script src="/angular/angular.min.js"></script>
<body ng-app="tables">
  <div ng-controller="setName">
    User Name: <input type="text" ng-model="userName" ><br>
    Password: <input type="text" ng-model="userPassword" ><br><br>

    User Name: {{userName}}<br>
    Password: {{userPassword}}<br>

  </div>
</body>
</html>

I am using express to serve the page:

//Load express
var express = require('express');
//Load tables
//var tables = angular.module('table');
// Create express app
var app = express();
//Load http express wrapper
var http= require('http');
//Create variable for the port the server listens on
var srvPort = 3000;
//Make a static path to node_modules  directory
app.use(express.static('node_modules'));

app.use(express.static('controllers'));
//Make a static path to the public directory
app.use(express.static('public'));

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});


var server = http.createServer(app).listen(srvPort, function () {
    console.log('Server is listening on port ' + srvPort);
});

require('./public/javascript/sockets.js').initialize(server);

I get the following error:

Failed to instantiate module tables due to:
Error: [$injector:nomod] http://errors.angularjs.org/1.5.0/$injector/nomod?  p0=tables
at Error (native)
at http://localhost:3000/angular/angular.min.js:6:416
at http://localhost:3000/angular/angular.min.js:25:136
at b (http://localhost:3000/angular/angular.min.js:24:188)
at http://localhost:3000/angular/angular.min.js:24:431
at http://localhost:3000/angular/angular.min.js:39:287
at n (http://localhost:3000/angular/angular.min.js:7:355)
at g (http://localhost:3000/angular/angular.min.js:39:135)
at fb (http://localhost:3000/angular/angular.min.js:43:164)
at Ac.c (http://localhost:3000/angular/angular.min.js:20:449

So my question is, why is my module not loading?

Any help would be appreciated!

Z

1
  • have you tried using tables.controller(...) ? Commented Mar 1, 2016 at 14:10

1 Answer 1

3

You're not loading it in <head>. You have only socket.io.js and angular.min.js but not the JS file containing your module.

Sign up to request clarification or add additional context in comments.

1 Comment

It is often the simple things that get you! Thanks Martin for the help!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.