在IIS上部署角度应用程序

时间:2015-09-22 14:20:34

标签: angularjs node.js iis-7 gulp

我正在使用node.js处理AngularJs应用程序。使用gulp,我已创建(编译)我的应用程序(app在下图中)并获得以下目录

enter image description here

现在我完全知道如何继续下去。我想通过IIS托管这个应用程序来运行和查看页面(在views文件夹中),但我不知道如何在IIS上托管它。

我试过this文章,但它指导使用快速服务器。

问题是,IIS将如何确定第一页位于views文件夹中,即使我使用完整的URL

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

它显示了所有包含{{logginuser}}等括号的角度代码

编辑: 我是否需要web.config文件。如果是,那么我将如何定义应用程序的入口点?

3 个答案:

答案 0 :(得分:33)

只需在IIS中的网站下配置Web应用程序并创建自定义web.config。

  1. 在IIS中,转到“默认网站”,右键单击并选择“添加Web应用程序”
  2. 将Alias设置为AngularApp,将物理路径设置为目录的根目录
  3. 使用以下代码

    在目录的根目录下添加web.config文件
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <defaultDocument>
            <files>
                <add value="views/index.html" />
            </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    
  4. 转到http://localhost/AngularApp(假设IIS中为http绑定),浏览到新的Angular应用程序。

答案 1 :(得分:15)

这个用了2个小时 解决方案是转到WINDOWS FEATURES并检查COMMON HTTP功能下的“静态内容”。

enter image description here

希望这有助于某人。

答案 2 :(得分:2)

  

您需要设置为主屏幕的起始页面(如index.html)

如何在IIS中设置它?

转到web.config文件并添加以下内容

using namespace std;

size_t strlen(const char* str);

int main(int argc, char** argv) {

    char test[] = {'h','e','l','l','o','\0'};
    cout << strlen(test);

    return 0;
}

size_t strlen(const char* str){
    int idx = 0;
    for( ; *str; str++, idx++){
        return(idx);
    }
}

更多详情:How do I set the default page of my application in IIS7?