2016-09-23 3 views
0

だから私はバンドルした/ prodのためのwebpackを使用して定期的な角度のcliプロジェクトを構築し、distフォルダの内容を取って、エクスプレスがインストールされている別のプロジェクトに入れてください。
コード:// localhostを::他の3000 /そして何
エクスプレス付きバンドル角2のアプリ

var express = require('express'); 
var app = express(); 
var path = require('path'); 

app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/' + 'index.html') 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

問題は、私はこれを実行するとするときに、私は「ロード...」のページを取得することです。私はコンソールをチェックすると、私が手にこれらのエラー

[リソースの読み込みに失敗しました:// localhostを:3000/inline.js
は、リソースの読み込みに失敗しました:サーバー、サーバーが404(見つかりません)の状態で応答し404(見つからない)ステータス:// localhost:3000/styles.b52d2076048963e7cbfd.bundle.js
リソースの読み込みに失敗しました:サーバは404のステータス(Not Found)で応答しました:// localhost:3000/main.d27eab344e583f765067.bundle.js
は、リソースの読み込みに失敗しました:サーバーは、404の状態(見つかりません)で応答:// localhostを:3000/styles.b52d2076048963e7cbfd.bundle.js
は、リソースの読み込みに失敗しました:サーバーが応答しました404(見つかりません)のステータス:// localhost:3000/main.d27eab344e583f765067.bundle.js]

誰かがこの問題を回避するか、問題を解明しますか?どんな助けでも大歓迎です。私がこれをやっている理由は、アプリケーションが生産に行くと、私は "npm"にアクセスできないので、私はang-cliコマンドを持たず、ノードコマンドだけを持っているからです。また、ソケットIOを実装することは、私たちがエクスプレスルートに行ったもう一つの理由です。他の方法がある場合は、私に知らせてください。

ありがとうございました

答えて

0

あなたは今すぐindex.htmlを送信するだけで、残りの静的ファイルを提供する必要があります。

app.use(express.static('public')); 
app.get('/', function(req, res) { 
    res.sendFile(__dirname + '/public' + 'index.html') 
}); 
0
私は、この問題が見つかり解決策は、別々のディレクトリに2つの成分を入れ、それらをこのように構築することである

(ドン:

は、このパブリック例えば、いくつかのディレクトリにあなたの角度のアプリを入れてください「tはあなたのコンピュータに変更することを忘れディレクトリを前に、毎回):。

ng build --base-href /first/dist 
ng build --base-href /second/dist 

その後、あなたは急行に二つの異なるディレクトリ

であなたの二つの成分を持っています:

app.use(
    '/first', 
    express.static(
     path.join(__dirname,'first', 'dist') 
    ) 
); 

app.use(
    '/second', 
    express.static(
     path.join(__dirname,'second', 'dist') 
    ) 
); 

彼らのよりよい解決策になるはずですが、私は

はそれが

グレゴワールを役に立てば幸い、まだそれを見つけることがあります - 、使用してサイトを見つけることができますそれでwww.agenda.tools

関連する問題