私はquickstartで説明されている標準のファイル構造を使用して作成された新しいangular2プロジェクトを用意しました。 APIゲートウェイを構築しようとしていますが、私のアプリケーションをspring-bootホストにしていますが、生成されたソースが作成されたプロジェクトで/ distディレクトリを使用するようにブートを設定できませんでした。プロジェクトの構造は次のとおりです。angular2 spring-bootプロジェクトの構造
project
|--dist
|--node_modules
|--src
| |--app
| |--assets
| |--main
| | |--java
| | |--resources
| | | |--config
| | |--webapp
| | | |--WEB-INF
私はまだUI上の継続的な発展のためにNPM/WebPACKのを使用できるように、デフォルトの/ distディレクトリを使用したい
。
私はそうのような静的リソースのディレクトリを設定してみました:
spring.resources.staticLocations: /dist
しかし、これは動作していないようです。
私は、distディレクトリを直接指すようにリソースハンドラを作成:
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
String currentPath = new File("./").getAbsolutePath();
currentPath = "file:///" + currentPath;
registry.addResourceHandler("/**").addResourceLocations(currentPath + "/dist/");
}
}
これが問題の一部を解決していないが、今の私の根のURLは(「/」)はもはやのindex.htmlにマップされます。
/distプロジェクトディレクトリを見つけるためにspring-bootを設定する方が簡単ですか?私のプロジェクト構造は変わるべきですか?私は本当に一緒に一緒に働くこれらの作品のすべてを取得したいと思います。あなたはindex.htmlを下記好き置けばフォルダはSRC /メイン/リソース
を基準にしてい
/META-INF/resources/
/resources/
/static/
/public/
:
クラスパスから直接ディスク上でヒットするのではなく、場所を使用する必要があります。 (結局のところ、瓶の中にはありません!)私は通常、JSパイプラインを 'target/classes'に出力するように設定します。 – chrylis