我是网络部署的新手。任何人都可以告诉/向我展示将我的ember cli应用程序部署到GoDaddy所需的步骤吗?如果无论如何GoDaddy不支持ember cli应用程序,是否有某种方式像某些类似java文件可以编译或类似于ember中的东西能够在任何托管站点部署它?如果是的话,请赐教。
答案 0 :(得分:7)
Ember-CLI app可以部署到任何托管站点,因为Web服务器只需提供静态内容,通过执行生成
ember build --environment=production
此命令将应用程序的所有必需文件打包到/dist
文件夹中。
从那里,您需要做的就是将/dist
文件夹的内容复制到Web服务器并将其配置为提供此文件夹的内容。
要使浏览器历史记录正常工作,您还应设置Web服务器以使用index.html文件提供所有路由(请参阅Apache server的示例)
答案 1 :(得分:3)
运行$ ember build --environment = production
这将编译您的应用程序的生产版本。您的服务器需要能够提供index.html文件。除此之外没有任何要求。
答案 2 :(得分:0)
您可能还需要gzip压缩:https://medium.com/@bryan.hughes/how-to-enable-compression-on-godaddy-shared-linux-server-deflate-gzip-44f2ab58d0ad#.9yod714no 以及此重写规则https://gist.github.com/dehuszar/68a18367f7e9fa6fb127(通过搜索https://www.google.com/search?q=ember+cli+where+to+put+.htaccess+file找到)
已添加到[your-app]/public/.htaccess
# place in [your-app]/public so it gets compiled into the dist folder
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# If you get 404 error, uncomment and change the line below.
#RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
</IfModule>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<files *.html>
SetOutputFilter DEFLATE
</files>
<files *.svg>
SetOutputFilter DEFLATE
</files>
我并不担心gziping index.html。请参阅medium.com上的文章。
我还使用ember-cli-deploy与ember-cli-deploy-build和ember-cli-deploy-ftp,但目前还没有使用ember-cli-deploy-gzip。我还必须卸载ember-cli-sri,因为控制台中有一个奇怪的错误,我在js和css文件上有一些SHA完整性哈希检查。起初,ember-cli-favicon工作以生成我的初始favicon,但后来停止工作,我不得不卸载它。这些工具设置起来非常简单,但是如果文档发生变化,我会让您通过设置它们来导航。