0

여기에 내 문제입니다 :관리하는 방법 UI 라우터 기반 프로젝트에서 NG를-포함

내 프로젝트는 주로 ui-router<div ui-view></div> 섹션의 다양한 페이지를 배치하여, index.html에 포함되어

.

하나의 다른 페이지에서이 파일을 page1이라고 부르 자. 동일한 서브 디렉토리에 부분적으로 ng-include이있다. 그러나, 나는 UI 라우터가 index.html에 내 페이지를 이동하기 때문에

GET http://localhost/myProj/v3/myproj/app/index/page1Partial.html 404 

이 분명히 있음을

<div ng-include="'page1Partial.html'"</div> 

내가 콘솔 오류가 발생하여이 부분을 포함하는 시도가에 따라 ng-include을 찾고 그 디렉토리.

부분적으로는 index 폴더로 옮기고 싶지 않습니다. 구조적으로는 내 프로젝트를 이해하지 못합니다. 또한, 같은 디렉토리에 하드 코딩 된 전체 경로를 입력하지 않으려합니다 (잠재적으로 미래에 변경 될 수 있음). 상대적으로 간단하고 안전한 방법으로이 부분을 참조 할 수 있기를 바랍니다.

이 문제를 효율적이고 신속하게 관리하는 가장 좋은 방법은 무엇입니까? 내 파일 구조가 어떻게 생겼는지 포함 시켰습니다

같은 :

myproj 
|-- app 
| |-- index 
| |  |-- index.html 
| |  |-- index.js 
| |-- page1 
| |  |-- page1.html 
| |  |-- page1.js 
| |  |-- page1Partial.html 
| |-- page2 
|-- common 
| |-- resources 
| |  |-- page1resources.js 
| |  |-- page2resources.js 
+0

내가 page1.html' 사용에 포함되는 부분이다 '것을 제대로 이해하고 있는가 'ui-router '와 결코 직접적으로 액세스하지 않습니까? – hon2a

답변

1

프로젝트는 단일 페이지 응용 프로그램은 (사용자가 index.html을 열고 다른 모든 페이지를 동적으로 ui-router를 사용하여 포함 된) 사실 인 경우, ' d 간단한 액세스 (index.html)를 응용 프로그램의 루트 폴더에 넣기 만하면 많은 번거 로움을 덜 수 있습니다. 모든 상대 경로에는 컨텍스트로 루트 폴더가 있습니다.

같은 단일 페이지 응용 프로그램을 만드는, (ngBoilerplate에서 Gruntfile.js에서 index 작업 참조) 빌드시 자동으로 index.html를 작성하는 것은 매우 일반적입니다.

루트 폴더에 index.html을 넣을 수 없다면 (서버에있는) URL을 재사용하여 표시되도록 할 수 있습니다. 아파치, 당신은 그것을 위해 mod_rewrite을 사용할 수

RewriteEngine on 
RewriteRule ^/$ /app/index/index.html [QSA] 

(당신이 다음 http://localhost/myproj/ 귀하의 응용 프로그램에 액세스하는 것입니다.)

+0

구현 됨. 좋은 팁. – CodyBugstein