如何在生产服务器上使用ionic 2 app作为网站?

时间:2016-06-07 09:38:03

标签: ionic2

我想知道在生产服务器上部署ionic 2项目是否有任何具体步骤。

尝试在生产服务器上运行离子服务,但是当我尝试将api称为cors(允许来源问题)时。

请帮忙。

谢谢

3 个答案:

答案 0 :(得分:1)

需要在服务器上解决cors问题,因此服务器将允许cors。如果您使用的是节点,则可以使用cors包,而不是调用app.use(cors())。如果没有,您需要找到如何在生产服务器上启用cors。 Ionic可以阻止请求,如果它在cordova中运行(这就是为什么你可以使用离子提供的白名单插件指定白名单,但我认为,因为你将它作为一个网站运行,白名单插件无济于事。

要测试您的网站如何在您的生产服务器上运行,您可以下载chrome的cors插件,启用它并检查一切是否正常:)

答案 1 :(得分:1)

它对我有用。我完全控制了代理域的apache服务器。

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

在我的案例中,

代理/ api /到我在端口3080上运行的pm2 / node应用程序。

将我的所有节点服务器请求指向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>

答案 2 :(得分:0)

此时,凭借Ionic 2 beta 10,我认为运行Ionic应用程序作为“渐进式网络应用程序”是不可能的。但是,该团队表示他们打算最终允许Ionic 2应用程序提交到应用程序商店,以及在Web服务器上运行以通过Web浏览器访问。

来自主持人的这个ionicforum answer声明Ionic 2应用程序尚未作为独立的Web应用程序托管,但功能是“在工作中”。

在进一步阅读关于Progressive Web Apps以及他们如何努力将Ionic应用程序变为PWA时,请查看Ionic的这个blog post