2016-06-07 23 views

回答

1

的CORS问题需要在服务器上得到解决,所以服务器将允许CORS。如果您正在使用节点,则可以使用cors软件包并拨打app.use(cors())。如果没有,您需要找到如何在生产服务器上启用cors。离子可以阻止请求,如果它运行在科尔多瓦(这就是为什么你可以使用离子提供的白名单插件指定白名单,但我认为,因为你运行它作为一个网站,白名单插件不能帮忙太多。测试你的网站如何在你的生产服务器上工作,你可以下载cors插件的铬版,启用它,并检查是否一切正常:)

+0

此解决方案的任何其他资源?我有点困惑。 – YATO

0

在这一刻,与Ionic 2测试版10,我相信运行一个Ionic应用程序作为'渐进网络应用程序'是不可能的。不过,该团队表示,他们打算最终允许将Ionic 2应用程序提交给应用程序商店,并在网络服务器上运行,以通过网络浏览器访问。

此版本的ionicforum answer表示Ionic 2应用程序无法作为独立Web应用程序托管,但功能是“在工作中”。

查看Ionic的blog post关于Progressive Web Apps的更多信息,以及他们如何努力让Ionic应用成为PWA。

1

它适合我。我完全控制了代理域的apache服务器。

我将我的桌面版本指向webpacked dist /文件夹,以及离子服务器剩余的www /目录下的移动版本。

代理服务器/ API /我的pm2 /节点应用程序运行在端口3080在我的情况。

点我所有的节点服务器请求http://MYAPP.com/api/http://mobile.MYAPP.com/api/ ..静态内容,请http://MYAPP.com/http://mobile.MYAPP.com/

<Directory "/usr/local/www/node/MYAPP/dist"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

<Directory "/usr/local/www/node/MYAPP/www"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

<VirtualHost *:80> 
    ServerName mobile.MYAPP.com 
    DocumentRoot "/usr/local/www/node/MYAPP/www/" 
    ProxyPass /api/ http://localhost:3080/ 
    ProxyPassReverse /api/ http://localhost:3080/ 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "/usr/local/www/node/MYAPP/dist/" 
    ProxyPass /api/ http://localhost:3080/ 
    ProxyPassReverse /api/ http://localhost:3080/ 
</VirtualHost> 
+0

他还有一些关于iis和mod_rewrite的设置.. https://www.reddit.com/r/Angular2/comments/4sl719/moving_an_angular_2_app_to_a_real_server/d5am9s7 – Gary

相关问题