由Express.js提供的页面中的$ routeProvider问题

时间:2016-08-22 12:54:22

标签: javascript angularjs node.js

我正在尝试构建我的第一个Express.js / Angular应用程序,但是在Express.js应用程序服务的页面上遇到$routeProvider时出现问题。这是server.js

var express = require('express');
var PORT = process.env.PORT || 3000;
var app = express();
app.get('/', function (req, res) {
    res.sendFile(__dirname + '/client/views/index.html');
});

app.listen(3000, function () {
    console.log("I'm listening");
});

index.html页面呈现并包含以下Angular代码:

    var app = angular.module('app', ['ngRoute']);

    app.config(function ($routeProvider) {
        $routeProvider
            .when('/main', {
                templateUrl:'/client/views/main.html'
            });
    });

然而,当导航到localhost:3000/#/main时,<ng-view>

中没有注入任何内容

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

在我通过告诉express静态提供文件找到解决方案之前遇到过这个问题。

app.use(express.static('client'));

这告诉express从'client'目录按原样发送文件。这用于图像,CSS和&amp ;;等文件。客户端JavaScript。静态引用文件时,路径相对于指定的静态目录,因此/client/views/main.html将为/views/main.html

您可以查看express static middle ware here的文档。