2017-09-30 32 views
0

まず、vs2017でバニラasp.netコア2.0 Webサイトを作成します。その後、私はこれらの行でstartup.csを更新することにより、ノードの開始を追加します。ASP.NETコア2.0でノードを起動するときにエラーが発生する

public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddMvc(); 

     services.AddNodeServices(options => { 
      options.LaunchWithDebugging = true; 
      options.DebuggingPort = 9229; 
     }); 
    } 

私はいくつかのデータを返し、私はそれをローカルに実行すると、それが動作するビューを作成します。ここではそのコードされて次のように

public async Task<IActionResult> NodeTest([FromServices] INodeServices nodeServices) 
    { 

     ViewData["ResultFromNode"] = 
      await nodeServices.InvokeAsync<string>("NodeSrc/myNodeModule.js"); 
     return View(viewName: "NodeTest"); 

    } 

私myNodeModule.jsは次のとおりです。

module.exports = function (callback) { 
    var message = 'Hello from Node js script at ' + 
     new Date().toString() + ' process.versions ' + 
     process.version; 
    callback(/* error */ null, message); 
}; 

私はvs2017でローカルでこれを実行すると、それが動作します。 VSTSを使用してデプロイすると、ASPNETCORE_ENVIRONMENTのプロセス変数をDevelopmentに追加した後でも、ページを参照しようとするとエラーが発生します。以下のエラーi。

私の2つの質問は次のとおりです。 1.どのようにしてより良いエラーが報告されるのですか。 2.ノードをデバッグモードとプロダクションモードの両方でサーバー上で実行するにはどうすればよいですか。

エラー:

Error. 
An error occurred while processing your request. 
Request ID: 0HL87NKEP2GL6:00000002 
Development Mode 
Swapping to Development environment will display more detailed information about the error that occurred. 
Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 
+0

ASPNETCORE_ENVIRONMENT変数は実行時に使用され、ビルドには影響しません。新しいプロジェクトでこの問題を再現できますか? OneDriveの詳細ビルドとリリースログを共有します。 –

+0

azure portal =>あなたのWebアプリケーションを選択=>アプリケーション設定=>アプリケーション設定で開発値を持つASPNETCORE_ENVIRONMENTを追加して、Webアプリケーションをブラウズし、詳細エラーを確認してください。 –

+0

問題を解決しますか? –

答えて

0

あなたが新しい場合はJSファイルのプロパティの出力ディレクトリにコピーしてコピーを指定する必要があります(右JSファイルをクリック=>プロパティ=>変更コピー出力ディレクトリに新しい場合はコピーします) 。

BTW:出力ディレクトリへのコピーを変更せずにローカルで正常に動作し、プロジェクトのルートパスでファイルを探します。アズールのWebアプリ開発環境についてUsing Node Services in ASP.NET Core記事

でテストをした、あなたはWebアプリケーションのアプリケーション設定でそれを行うことができます。

  1. 行くに
  2. ポータルウェブアプリを選択し
  3. 選択アプリケーションをAzureのために設定
  4. [アプリケーション設定]の[開発]値を持つASPNETCORE_ENVIRONMENTを追加します。
関連する問題