Declaração de diretiva templateUrl em relação à raiz

No momento, estou declarando templateUrl em relação ao local atual da janela.

cvApp.directive('personalDetails', function () { return { restrict: 'A', templateUrl: '../../Scripts/app/templates/personalDetails.html' }; }); 

Como posso criar templateUrl em relação à raiz do aplicativo? Eu estou procurando algo como isto:

 templateUrl: '~/Scripts/app/templates/personalDetails.html' 

O AngularJS pode realizar isso?

Parece que é suportado. Extraído de um tópico no AngularJS Google Group :

o url com o prefixo “/” é relativo ao domínio, sem o prefixo “/” será relativo à página principal (“index.html”) ou à URL base (se você usar a localização no modo html5).

Isso funciona bem:

 templateUrl: '/Scripts/app/templates/personalDetails.html' 

Parece que você está tentando fazer caminhos relativos ao aplicativo estilo ASP.NET, mas do lado do cliente. A correção está na verdade em HTML: adicione uma tag base na cabeça, assim:

  

Em seguida, mantenha seus caminhos de modelo em relação a isso, como em

 templateUrl: 'Scripts/app/templates/personalDetails.html' 

Use “././Scripts/app/templates/personalDetails.html”

funcionou para mim.

Angular 4 usa o Webpack como bundler.

 ./ means relative path to current folder ../ means parent folder 

domínio = src

root = src / index

por exemplo, abaixo do arquivo app.component.ts, url significa que xxx.html xxx.css estão na mesma pasta que xxx.ts

 ./ is relative path as current folder ../ is relative path as parent folder @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) 

CAMINHOS COMPORTAIS-RELATIVOS EM ANGULAR