javascript - Ng-Route 不适用于 Node/Express 静态服务器

标签 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
})

我怎样才能让它不这样做?

最佳答案

在这种情况下,您确实需要模板中的 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/

相关文章:

javascript - 迭代json数组并将每个值推送到angular js中的列表

android - 无法获取 BatchedBridge,请确保您的包已正确打包

javascript - 使用 ShouldJS 比较来自 Mongoose 的数组

javascript - React js 渲染状态值落后一步

javascript - 为什么 GoogleMap 在我的 .net 项目中不显示 key,而显示 v

javascript - 使用 React 和 Meteor 时是否可以进行热重载?

javascript - 未捕获的类型错误 : Cannot read property 'className' of undefined?

javascript - 在 AngularJS ng-repeat 中处理 json 数据

javascript - 从 MeanJS 中的 AngularJS Promise 获取值

javascript - 在 Promise 中使用 async 、 double then() 的正确方法? node8,真的需要 babel 到 es5 吗?