2017-02-19 64 views
0

我想要做的事很簡單,我是一個有點意外的人不是在談論更多。我想在我的服務器上生成自己的index.html,這些文件是通過構建用於生產的ember創建的。我使用ember作爲我的應用程序的一部分,因此當某個URL被擊中時,我會喜歡我的應用程序應用程序來接管。我試圖通過更改ember-cli-build.js中的標誌storeConfigInMeta來生成我自己的index.html。生成生產版本的index.html隨着服務器端應用程序

storeConfigInMeta: false 

該出手具有存儲在meta標籤的配置,但應用程序仍無法正常工作,並給出了錯誤的餘燼應用程序,

Uncaught ReferenceError: define is not defined 

我有最新版本的餘燼和我的正在建設燼與命令,

ember build --env production 

我的服務器生成的index.html看起來一樣接受完整性屬性設置上包括JS和CSS腳本。他們是否缺乏這種方法來接近餘燼?我是不是應該這樣做?

回答

0

當某個網址被擊中,然後,我會像我的餘燼應用,從而充分 了。

您需要配置應用服務器以返回特定URL的index.html文件。 一般來說,它不是必需的,您可以創建自己的index.html。

也許你可以檢查ember-islands插件,以在服務器呈現的頁面上的任何位置包含Ember組件。

+0

謝謝kumkanillam。我認爲有幾個原因可以讓你動態創建這個文件。如果您可以從服務器動態生成它,那麼從大多數服務器環境交付更容易。您可以更輕鬆地決定從哪裏輸出,並更好地控制您的資產路徑。也許我只是沒有正確地考慮這一點,所有這些都可以通過餘燼選擇的方式實現。 –

0

我犯了一個錯誤。我用我的服務器以正則表達式抓取生產資產,並以錯誤的順序生成包含這些資產的index.html文件。任何人要做到這一點,這是很可能的,在我看來更優於使用生成的index.html,除非你正在使用的餘燼爲整個網站的路由。但是卻使用了設置在餘燼-CLI-build.js,

storeConfigInMeta: false 

這將使它所以你的餘燼應用程序商店是在JavaScript中,而不是在一個標籤設置。這是生成自己的index.html文件所必需的。