2017-09-22 12 views
0

私はかなり時間をかけて角度とasp.netコアをうまく​​再生しようとしてきました。私はそれらを分離することで大きな成功を収めましたが、問題はSEOの欠如でしたので、私はAngular Universalを使用していることを知っていますので、スパテンプレートで構築された新しいVS2017(以前のバージョンも試しましたが、Asp.net core 2.0 spa angular 4は2 <head>セクションを生成します

すべてがうまくいっていて、問題はまったくありません(リロード時にページを消去しないので、2部取得します)。次に、角4のメタモジュールを試して、タイトルと説明を追加しますページソースはタグが追加されていることに気付きましたが、2番目のセクションがありました。私は何がこれを引き起こしたのか分からない!それが問題だった場合にはMetaモジュールを削除しましたが、明らかにそうではありませんでした!レンダリングされたソースは次のとおりです。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
    <title>Home Page - AngularMaterial</title> 
    <base href="/" /> 


<link href="/dist/toastr.css" rel="stylesheet" /> 
    <script src="https://ajax.googleapis.com/ajax/libs/hammerjs/2.0.8/hammer.min.js"></script> 
    <link rel="stylesheet" href="/dist/vendor.css?v=bzqEeKYfqu58ed-dtQv6xARrcvfdhL8uYPo7HpPskds" /> 
</head> 
<body> 

<app><html><head><style>.....styles removed...</style></head><body><app _nghost-c0="" ng-version="4.2.5"><nav-menu _ngcontent-c0="" _nghost-c1=""> 

さらに詳しいコードが必要な場合は、私に教えてください。

EDIT:

私はちょうど空のプロジェクトを作りましたが、これはスパテンプレートのバグのように見えます。バグはどこで報告されますか?

答えて

0

これはバグであり、ここでは掲載され、それは周りの仕事を持っている:あなたが追加する必要がboot.server.tsでhttps://github.com/aspnet/JavaScriptServices/issues/1233

   resolve({ 
        html: state.renderToString() 
         .replace('<html><head>', '') 
         .replace('</head><body>', '') 
         .replace(/<\s*app.*?>/,'') 
         .replace('</app></body></html>', '') 
       }); 

周りのこの作品は動作しますが、あなたがしようとしなければなりませんメタタグやタイトルなどを追加することはできません。すでに頭部タグを削除しているので、新しいタグを挿入するだけで、ページの本文に挿入されます。 Asp.Net Core SPA/Javascriptサービスは、準備ができていません。タイトルや説明を更新することが重要で、gitページを見れば、生産は非常に遅れている可能性があります。

+0

この問題の解決方法をお探しですか? –

+0

@PravinPatil私はあきらめてこれをテンプレートとして使用しました:https://github.com/MarkPieszak/aspnetcore-angular2-universal –