公共目录中的资源不可用

时间:2016-08-02 18:15:43

标签: javascript angularjs node.js express directory-structure

我现在已经使用Node和Angular很长一段时间了,但是从来没有在后端结构中投入太多的思考或努力。我试图拆分客户端和服务器,基本上我可以使用我的大多数应用程序的骨架。到目前为止,其他所有事情都进展顺利。这是我的目录结构:

App directory structure

在app.js中,我使用此行设置静态资源文件夹:app.use(express.static(config.server.distFolder));

只是指向/client/dist。现在所有这些工作正常,它加载index.html和链接到html文件中的任何CSS / JS资产。唯一没有加载的是angular文件夹里面的views文件夹,如下图所示。

Console inspector - sources

由于Angular路由器无法找到视图(因为它未加载),因此默认再次加载index.html,导致页面在ng-view内重复指令。

我认为这是因为它在index.html文件中根本没有被使用/调用/加载。如何将此文件夹包含在静态资产中?在其他代码中,我看起来似乎就在那里。我肯定错过了什么。我对设置静态目录的原始理解是该目录中的所有内容都可供客户端使用。

1 个答案:

答案 0 :(得分:0)

当然,这是一个愚蠢的简单修复。 Angular正在/views查找/angular/views时的视图。忽略了根文件夹。

我所做的就是改变这一点:

$stateProvider
    .state('index', {
        url: '/',
        templateUrl: 'views/index.html'
    });

到此:

$stateProvider
    .state('index', {
        url: '/',
        templateUrl: 'angular/views/index.html'
    });