2016-08-02 2 views
1

저는 Node and Angular를 오랫동안 사용해 왔지만 백엔드 구조에 많은 생각이나 노력을 기울이지 않았습니다. 나는 클라이언트와 서버를 분리하려고하며 기본적으로 내 응용 프로그램의 대부분을 사용할 수있는 해골을 만듭니다. 이 모든 것이 다른 곳으로 옮겨 갔다. 여기 내 디렉토리 구조와 같은 모습입니다 : 단순히 /client/dist를 가리키는 app.use(express.static(config.server.distFolder));공용 디렉토리의 리소스를 사용할 수 없습니다.

:

App directory structure

app.js에서, 나는 정적 자산 폴더를 설정하려면이 라인을 사용합니다. 이제이 모든 것이 잘 작동합니다. html 파일에 링크 된 index.html과 CSS/JS 애셋을로드합니다. 적재되지 않는 유일한 방법은 아래와 같이 각도 폴더 안의 views 폴더입니다.

(가로드되지 있기 때문에) 각 라우터가를 찾을 수 없기 때문에

Console inspector - sources

이 페이지를 다시 일으키는로드 index.html에 기본값 그냥 ng-view 지시어 내에서 복제 될 수 있습니다.

index.html 파일에서 전혀 사용/호출 /로드되지 않았기 때문입니다. 이 폴더를 정적 자산에 포함 시키려면 어떻게해야합니까? 다른 코드에서 나는 그것을 보일뿐입니다. 나는 뭔가를 놓치고 있어야합니다. 정적 디렉토리 설정에 대한 원래의 이해는 그 디렉토리에서 클라이언트가 사용할 수있게 된 모든 것입니다.

답변

0

물론, 어리석은 간단한 수정이었습니다. Angular는 /angular/views 일 때 /views에서보기를 찾고있었습니다. 루트 폴더가 간과되었습니다. 이것에

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

:

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

은 내가 한 모든이를 변경했다

관련 문제