2016-07-05 3 views
2

角度1.5とウェブパックを使って番のフォルダを作成しました。すべてのモジュールで角度1.5の相対URLを使用する方法

これは私のフォルダ構造です:

--app 
    --dist 
    --loginComponent 
     --login.html 
    --homeComponent 
     --home.html 
    ... 
    --app.css 
    --app.js 
    --index.html 

そして、これが私のindex.htmlです:良い

<!doctype html> 
<html lang="es" ng-app="firmaDigitalApp" ng-strict-di> 
<head> 
<meta charset="utf-8"> 

<link rel="stylesheet" type="text/css" href="dist/app.css"> 
<script src="dist/app.js"></script> 
</head> 

<body> 
    <app></app> 
</body> 
</html> 

はすべてこれまでのところ、問題が発生したapp.jsがHTMLにアクセスしていないということですそれがリソースを見つけることができないように相対的な方法でそのパスによって(のコンテキスト /dist/homeComponent.htmlでhome.htmlを探すのではなく、のコンテキスト /homeComponent.html)を探しています。

念のために、これはhomeModule.jsです:

require('./administradorComponent/administradorModule.js'); 
require('./definicionComponent/definicionModule.js'); 

var controller = require('./homeController'); 

var homeModule = angular.module('homeModule', [ 'administradorModule', 'definicionModule' ]); 

homeModule.component('homeComponent', 
{ 
    templateUrl : 'homeComponent/home.html', 
    $routeConfig : [ 
    { 
    path : '/administrador/...', 
    name : 'Administrador', 
    component : 'administradorComponent', 
    useAsDefault : true 
    }] 
}); 

homeModule.controller('homeController', [ '$rootScope', '$location', '$log', controller ]); 

私はので、私の角度アプリケーションリソースがお互いにアクセスするために、相対パスを使用して何ができるか私はオーバーDIST/を入力する必要はありません何度も何度も?

詳細情報が必要な場合はお知らせください。

+0

あなたのアプリで[Angular UI Router](https://angular-ui.github.io/ui-router/site/#/api/ui.router)を使用していますか? – Rohit416

+0

いいえ、この問題を解決できるかどうかは私には分かります。 –

+0

'templateUrl'を参照するコードを表示できますか? –

答えて

0

templateUrlを使用するのではなく、html-loaderを使用して、テンプレートを出力ファイルに組み込むことをお勧めします(例:app.js)。あなたがそれを設定した場合、あなただけ行うことができます。

template: require("homeComponent/home.html") // Resolves to a string 

これは、すべてのテンプレートがあまりにもロードされますよう、あなたのバンドルがフロントをダウンロードするには少し時間がかかることになりますが、あなたは待つ必要がありませんコンポーネントが初期化されたときにテンプレートが非同期にロードされるため、私の意見ではそれが一段落します。

関連する問題