2017-10-12 4 views
1

Angularの新機能で、学習ライトとして写真ライトボックスを作成しました。プロジェクトフォルダの外から画像を使用する方法はありますか?私はここで参照されたGlob(https://github.com/angular/angular-cli/issues/3555)を使用し、.angular-cli.jsonファイル(下記参照)にディレクトリパスを挿入してみましたが、両方とも成功しませんでした。これは角度CLIで可能ですか?Angular-Cli:アセットフォルダの外にある画像にアクセスするにはどうすればいいですか

"assets": [ 
      "assets", 
      "assets/img", 
      "D:/training/img", // full path 
      "../../../img", // relative path 
      "favicon.ico" 
      ], 
+0

は純粋のCLI設定とそうは思わない、構築する前に資産の下にファイルをコピーするがぶ飲みを追加するというアイデアをいじるされています。 –

答えて

0

globでこれを実行できるはずです。私はあなたのcli.jsonでフォルダ構造

/outsideDirectory 
    testImg.jpg 
/myProject 
    /node_modules 
    /src 
    .angular-cli.json 

を持っている場合たとえば、あなたはこれが/dist/assets/ディレクトリにoutsideDirectoryの内容をコピーしますグロブ

"assets": [ 
    {"glob": "**/*", "input": "../../outsideDirectory", "output": "./assets/"} 
] 

を定義することができます。今度はコード内で画像を使用できます

<img src="assets/testImg.jpg"> 

cli.jsonのアセットは静的アセット用です。画像をoutsideDirectoryに動的にプッシュする場合は、画像を自分でホストするか、サービスを使用してからフルURLで参照する方がよいでしょう。これは、あなたのグロブからのイメージは、(ビルド時に発生する)outsideDirectoryコンテンツのコピーだけであるためです。

+0

ありがとうございました。画像はdistフォルダに格納されていますが、UIが画像の正しいパスを取得しているのがわかりますが、リンクが壊れていると表示されています。私は、distフォルダ内の画像を指し示すurlでjsonを渡すサービスを使用しています。それでも解決しようとしています https://github.com/itLead797/ImageGallery –

+0

私はあなたの応答をより慎重に読む必要がありました。私の足跡をたどる誰のために。 はNPMアンギュラcli.json資産配列 参照のhtmlでの資産のディレクトリ(ないDIST /資産) 実行ngのビルド –

+0

@RobertPriceに(上記)グロブの行を追加します。 --saveグロブをインストールし、私はそれが働いてうれしいです!ちなみに、 'npm install glob -save'は必要ありません。globは@ angular/cliの依存関係ですので、@ angular/cliのインストール時にglobをnode_modulesにインストールしてください – LLai

0

は、下記の手順:srcに

私の画像を=>画像=>それは

.angular-cli.json

オープン資産フォルダの外にあります意味1.png angular-cli.jsonファイルアセットアレイを見つける配列の中に画像のようなフォルダ名を追加する

"assets": [ 
    "assets", 
    "images", 
    "favicon.ico" 
], 

componenet.html

<img src="images/1.png">