Angular 4访问IIS中 Assets 下的json文件

标签 angular iis angular2-routing

我正在开发一个从 CLI 构建的 Angular 4 应用程序,而后端 API 仍在开发中,我已经在 assets 文件夹下为 http.get 设置了一些 json 文件。在我的本地一切正常,但是当我部署到 IIS 时,在开发工具的网络选项卡中,我在尝试访问 json 文件时看到 404。我在代码中设置 URL 的方式是硬编码“assets/api/manager/model.json”。我通过运行 npm build --prod 构建项目并复制 dist 文件夹中的内容。构建后,我确实在 dist 下看到了 assets/api/manager/model.json 文件。我看到在 IIS 上托管时有多种调整路由的方法,我已经尝试了所有方法(我认为)但似乎无法让它工作。

下面是http.get代码

  private assignTasksViewModelUrl = 'assets/api/manager/model.json';
   getTaskAssignmentViewModel(): Observable<AssignTasksViewModel> {

    return this.http.get(this.assignTasksViewModelUrl)
            .map((response: Response) => <AssignTasksViewModel>(this.extractDate(response)))
            .do(data => console.log(JSON.stringify(data)))
            .catch(this.handleError);
  }

最佳答案

为我添加作品。只是提醒标签应该在里面 :

<system.webServer>
   ...
   <staticContent>
      <remove fileExtension=".json" />
       <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
   ...
</system.webServer>

另一种方法是转到 IIS 管理器向其添加 MIME 类型。

转到 IIS 管理器 --> 打开您的网站 --> 单击右侧的“功能 View ”选项卡 --> MIME 类型(双击)--> 操作:添加(右侧)--> 文件扩展名:.json,MIME 类型:application/json。

关于Angular 4访问IIS中 Assets 下的json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877476/

相关文章:

javascript - 使用 Typescript 或 javascript 动态获取类成员名称和值

powershell - Sync-WDSite Web 应用程序物理路径参数

c# - .NET 网站崩溃

asp.net - C# ASP.NET 网站使用哪个数据库?

validation - Angular 2,数据验证和输入掩码困难

javascript - Angular ng serve 产生错误 : NGCC failed

angular - onYouTubeIframeAPIReady 未在 angular2 网络应用程序上触发

javascript - Node Js findByIdAndUpdate 函数未在数据库中更新

angular - 无法绑定(bind)到 'href',因为它不是已知的 native 属性

Angular 2 路由器错误 : Invalid configuration of route 'undefined'