使用Angular $ locationProvider.html5Mode(express.static)的Express JS静态文件

时间:2015-10-18 11:27:04

标签: javascript angularjs node.js express

我有一个使用Express JS服务器端的角应用程序。我已经使用角度$locationProvider.html5Mode删除了角度#(hashbangs),并在html的标题中设置了基数。它一切正常,直到我重新加载页面时,我不在根上。例如,如果我在http://myapp.com/anypath并重新加载我的静态文件,请获取“任何路径”。添加到http://myapp.com/anypath/assets/css/app.css而不是http://myapp.com/assets/css/app.css

这是我的index.js我的Express服务器正在使用

var express = require('express');
var app = express();

app.set('port', (process.env.PORT || 5000));

app.use(express.static(__dirname + '/app'));

app.all('/*', function(req, res, next) {
  res.sendFile('index.html', { root: __dirname +'/app' });
});

app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

我看过https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode并且知道这应该回答我的问题,但我是一个新手并且无法让它工作:(

文件结构:

root >
    index.js
    node_modules
    app >
        assets >
             css
             images
        bower_components
        src >
            js
            views

我认为它与express.static有关,但任何帮助都会很棒!

干杯

1 个答案:

答案 0 :(得分:0)

只需要更仔细地查看我的css链接,' /'从前面失踪了。