Ng-Route不使用Node / Express静态服务器

时间:2014-11-07 22:01:24

标签: javascript angularjs node.js express

我有一个app.js,可以将所有请求定向到pages / index.html

现在我尝试使用Angular来路由用户对'/#/ media'的请求,例如:

academy.config(function($routeProvider) {
    $routeProvider
          .when('/media', {
          templateUrl : 'media.html',
          controller  : 'mainController'
          });

        });

但它一直显示index.html。

这是app.js

var express = require('express');

var app = express()

var http = require('http'),

fs = require('fs');

app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {

res.sendFile(__dirname + '/pages/index.html');

});

var server = app.listen(8080, function () {

var host = server.address().address
var port = server.address().port
})

如何让它不这样做?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要在模板中使用ng-view来获取角度。我有一个提示给你。尝试将视图文件夹设置为良好实践。

var express = require('express');

var app = express()

var http = require('http'),

fs = require('fs');

app.use(express.static(__dirname + '/public'));
app.set('views', __dirname  + '/views');
app.engine('html', require('ejs').renderFile); //TODO npm install ejs
app.set('view engine', 'html');

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

var server = app.listen(8080, function () {

var host = server.address().address
var port = server.address().port
})