【问题标题】:How can I deploy an asp.net core website without requiring nodejs on the server?如何在服务器上不需要 nodejs 的情况下部署 asp.net 核心网站?
【发布时间】:2017-11-06 14:20:04
【问题描述】:

我正在部署我的第一个 asp.net 核心网站。我们从开发的角度使用 NPM 来管理包,但我不认为节点 js 会成为托管网站的服务器的要求?

现在,如果我尝试运行网站,我会收到“InvalidOperationException:无法启动节点进程”。为了使服务器尽可能精简,我宁愿没有节点 js。另外,我担心它会尝试在运行时更新/下载包,而不是在我部署时包含它们(从 Visual Studio 2017 部署到文件选项)。

【问题讨论】:

  • NPM 是一个用 Javascript 编写的包管理器。你将不得不放弃这种依赖
  • 我知道我们正在使用 NPM 来管理我们的依赖项,但是找不到在服务器端不需要 NPM / Node 的情况下仍然使用 NPM 管理依赖项的方法。有点像使用 NUGET 管理依赖项时,我不需要服务器上的 nuget 周围的任何东西。
  • 我对 .net core 了解不多,所以请原谅我的无知,但这是您对npm install 的部署过程的一部分吗? npm install 是否有可能在每次启动时都尝试运行?我还认为您不需要 NPM 来运行您的网站。特别是如果这些都是客户端依赖项。
  • 我的启动代码中没有节点或 NPM 的引用。 NPM 需要部署,以获取任何缺少的包,但我没有将其称为服务器端。部署后,我希望它所需的一切都包含在部署的文件中。
  • 那么您将不得不安装节点。它小于 40MB,所以你会没事的。

标签: node.js asp.net-core windows-server-2016 iis-10


【解决方案1】:

导致此问题的功能是“服务器端渲染”。可以通过移除来禁用它:

@addTagHelper "*, Microsoft.AspNetCore.SpaServices"

来自视图/_ViewImports.cshtml


有关详细信息,请参阅此堆栈 SO 问题。

How to disable server side rendering on an asp.netcore-spa application?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2023-04-11
    • 2020-06-23
    • 2011-10-25
    相关资源
    最近更新 更多