模板加载有些奇怪的问题

时间:2016-06-24 09:57:55

标签: angularjs node.js templates express pushstate

我试图在我的角应用中实现HTML5推送状态,但无济于事。

事情似乎工作正常(我可以通过输入确切的路径来访问浏览器中的每个静态文件(示例为http://localhost/components/profile/profile.html)但是当我尝试通过templateUrl选项加载模板时定义它没有加载任何东西。控制台也没有错误。我的路线设置是否正确?

值得一提的是:当切换到profile状态时,我在服务器中看到profile.js请求,但没有请求该模板。

快递路线:

app.use('/', express.static(__dirname + '/public'));
app.get('/[^\.]+$', function(req, res){
    res.sendFile("index.html", { root: __dirname + '/public' });
});

应用配置:

function lazyLoad(pathjs) {
            return ['$ocLazyLoad', function ($ocLazyLoad) {
                return $ocLazyLoad.load(pathjs);
            }];
        }

$stateProvider
        .state('home', {
            url: '/',
            template: 'Welcome home'
        })
        .state('profile', {
            url: '/profile',
            templateUrl: 'components/profile/profile.html',
            controller: 'profileCtrl',
            controllerAs: 'vm',
            resolve: {
                module: lazyLoad('components/profile/profile.js'),
                user: ['SessionService', function (SessionService) {
                    return SessionService.currentUser();
                }]
            }
        });

$locationProvider
        .html5Mode(true)
        .hashPrefix('!');

项目树:

Project tree

2 个答案:

答案 0 :(得分:0)

如果将html5mode设置为false,问题是否仍然存在?

答案 1 :(得分:0)

问题是thead条款中尚未解决的承诺。