Deploy angular application on IIS

2019-02-03 01:54发布

问题:

I am working on AngularJs application with node.js. Using gulp, I have created (compiled) my application (app in below image) and got the following directories

Now I completely struck how to proceed next. I want to host this application over IIS to run and see the pages (in views folder) but I don't know how to host it on IIS.

I tried this article, but it guides to use express server.

The issue is, how IIS will figure out that the first page lies in views folder, and even if I use the complete url

http://localhost:8078/views/index.html

it shows me all angular code with brackets like {{logginuser}} etc

EDIT: Do I need web.config file here or not. If yes then how I will define entry point to the application?

回答1:

Just have to configure a Web Application under a website in IIS and create a custom web.config.

  1. In IIS, go to the Default Web Site, right-click and select Add Web Application
  2. Set the Alias to be AngularApp and the Physical Path to be the root of your directory
  3. Add a web.config file at the root of the directory with the following code

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <defaultDocument>
            <files>
                <add value="views/index.html" />
            </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    
  4. Browse to your new Angular application by going to http://localhost/AngularApp (assuming http binding in IIS).



回答2:

Lost 2 hours with this The solution was to go to WINDOWS FEATURES and check 'static content', under COMMON HTTP features.

Hope this helps someone.



回答3:

You need set as start page to you main screen (like index.html)

How can I set it in IIS?

Just go to web.config file and add following

<system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="index.html" />//Path of your Page
      </files>
    </defaultDocument>
</system.webServer>

More details : How do I set the default page of my application in IIS7?