我有一个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
})
我怎样才能让它不这样做?
最佳答案
在这种情况下,您确实需要模板中的 ng-view 来进行 Angular 处理。我有一个建议给你。尝试像这样设置 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
})
关于javascript - Ng-Route 不适用于 Node/Express 静态服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26810796/