2017-08-03 55 views
-2

我是Angular js的新手,刚刚完成了在Angular js +材质上创建项目。在IIS上角JS 1.x部署

我运行命令gulp build并将dist文件夹中的所有文件移动到IIS服务器目录;它为实例工作正常,但每当我手动输入地址或刷新它或尝试返回它给我一个404错误。

我跑过Angular的官方文档,但它似乎根本不工作,因为这些是来自Angular 1.x的错误,官方网站显示只部署Angular 2和4部署。

+1

为什么在IIS上部署?是iis express还是iis? – Haris

+0

那你有什么建议我应该在哪里部署它? –

+0

我是专业网点开发人员,我知道这是唯一的方法,我只是这样做的:p –

回答

0

如果html5Mode应用和主机在IIS作为虚拟目录,它需要URL重写的刷新工作:

https://www.iis.net/downloads/microsoft/url-rewrite

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="AngularJS" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="{0}" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+0

我已经在web.config中做了这些修改,并且为了做到这一点,我也下载了URL重写。已经通过文档,但事情是,它不能正常工作.... –

+0

你可以告诉我在UiRouteConfig $ locationProvider和$ urlRouterProvider的配置,还有,你尝试刷新的网址是什么? – daniel

+0

它只在基本URL中工作,如果我输入它可以从基本URL开始,并通过使用其锚点标签进行导航,但是当我输入像'baseurl.com/internal'这样的手动URL时,它会给我404 –