我想知道在生产服务器上部署ionic 2项目是否有任何具体步骤。
尝试在生产服务器上运行离子服务,但是当我尝试将api称为cors(允许来源问题)时。
请帮忙。
谢谢
答案 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。