2017-08-24 91 views
0

我在Anglular 4中有一个项目,它有服务从'资产'文件夹中获取JSON数据。我使用'ng build'命令创建了dist文件夹,然后将其添加到默认站点的IIS中。在'index.html'中,我设定了。部署角4到IIS

索引页面加载好使用URL一样 -

http://bla1.bla2.bla3.com/DistFolder

不过,我得到了我指我的服务withing的“资产”文件夹中的文件的错误。我在该资产文件夹中有一些jsons和png文件。

我得到错误,如下面 -

获取http://bla1.bla2.bla3.com/assets/somefile.json 404(未找到)

你的帮助是非常赞赏。

在此先感谢。

回答

1

假设您使用IIS 7.5作为标签说的而不是更高版本,请确保您启用JSON MIME类型以在IIS中提供服务。基本上一个web.config这个它添加到根文件夹(其中您的index.html是):

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent> 
      <mimeMap fileExtension=".json" mimeType="application/json" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 
+0

嗨安德烈, 这个问题不看与JSON作为我得到了同样的错误了PNG文件,我在资产文件夹中。我在我的问题中也提到了这一点。 –

+0

谢谢安德烈,你的回答很有帮助。 但是,我不得不解决问题如下,使其工作。 i。我在我的代码中将资产文件夹称为/asset/some.json而不是./assets/some.json。 ii。我必须按照您的建议启用json iii。我必须在web.config文件中添加URL Rewrite规则,如下所示: https://blogs.msdn.microsoft.com/premier_developer/2017/06/14/tips-for-running-an-angular-app-in-iis/ –

+0

很高兴帮助。仅供参考,就第3点而言,有一种更简单的方法可以解决这个问题,而无需安装URL Rewrite模块。请在[此帖子](https://stackoverflow.com/a/45844151/6139866)上查看我的解答。 –