【问题标题】:Publish Angular app on iis - error only on iis side在 iis 上发布 Angular 应用程序 - 仅在 iis 端出错
【发布时间】:2020-12-10 13:01:40
【问题描述】:

我在 Visual Studio 中创建了应用程序 .net 3.0 + Angular 8。然后我将角度升级到版本。 10. 当我在本地运行应用程序时一切正常,但是当我在 iis 上发布它时出现此错误:

没有这样的文件或目录,打开 'C:\Websites\App\ClientApp\package.json'

我已经更改了 Startup.cs

services.AddSpaStaticFiles(配置 => { configuration.RootPath = "ClientApp/dist/App"; });

但这无济于事。

ver 8 在 iis 上运行没有任何问题。

我的包.json

 "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build:ssr": "ng run App:server:dev",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

编辑 在@Yiyi 你的帮助下,我继续前进。现在我得到了这个错误

The error output was: The serve command requires to be run in an Angular project, but a project definition could not be found.

我更新了everytning(角度、节点等),将变量 npm 添加到 PATH,将 package.json 和 node_module 复制到项目,添加了对 app_pool 的权限

感谢您的帮助

【问题讨论】:

    标签: angular asp.net-core iis publish angular10


    【解决方案1】:

    首先,您需要检查'C:\Websites\App\ClientApp\package.json'是否存在。在本地运行应用程序或在IIS上运行,路径可能不同,因为它不是完整路径。所以如果' C:\Websites\App\ClientApp\package.json'不存在,你需要将你的packsage.json添加到路径C:\Websites\App\ClientApp

    【讨论】:

    • 本地everythink 工作。我会试试谢谢!但我不明白为什么我在 iis 端有这个错误。以前(我认为)这个位置也没有 package.json(在 iis 上)。
    • 相对路径取决于你项目的当前位置。所以当你在本地时,你的本地项目中可能有packsage.json。而当发布时,路径取决于发布项目的位置,所以它您的发布项目中可能没有 package.json。
    • 好的,我需要 iis 端的 package.json 吗?发布有问题吗?
    • 我认为你需要它。发布时,如果你在本地使用静态文件,并且它不是完整路径,你通常需要将文件放在发布文件夹的某个地方。
    • 也许吧。但是为什么它在 Angular 更新之前可以正常工作?
    【解决方案2】:

    您的 .NET 服务器可能正在开发模式下运行,因此它会尝试运行 Angular 服务器,而不是查看已构建的 Angular 项目;因此它为什么要寻找一个 package.json 以便它可以运行 npm start 脚本。

    在 cmd 中使用以下命令(或使用 GUI)将您的 ASPNETCORE_ENVIRONMENT 环境变量设置为 Production(或 Development 以外的任何其他值) :

    setx ASPNETCORE_ENVIRONMENT "Production"
    

    然后再次运行您发布的应用程序,它不应再尝试查找 package.json。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 2019-01-09
      • 2011-04-15
      • 2015-12-19
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多