2014-07-16 92 views
2

我遇到以下問題。如何在Apache服務器中部署ember-cli項目

我用ember-cli創建了一個ember應用程序。

應用程序通過URL http://localhost:4200/運行命令ember serve

我想部署一個Apache httpd的服務器上的此應用程序時能正常工作的NodeJS上。

爲了這個工作,我認爲它應該也是獨立的,當在Firefox中打開。

,當我在Firefox中打開它,我得到一個錯誤:

require is not defined

生成的index.html是

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>Foo</title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width, initial-scale=1 user-scalable=no"> 

    <base href="/" /> 

    <link rel="stylesheet" href="assets/vendor.css"> 
    <link rel="stylesheet" href="assets/foo.css"> 
    </head> 
    <body> 
    <script> 
     window.FooENV = {"environment":"development","baseURL":"/","locationType":"auto","EmberENV":{"FEATURES":{}},"APP":{"LOG_RESOLVER":true,"LOG_ACTIVE_GENERATION":true,"LOG_MODULE_RESOLVER":true,"LOG_VIEW_LOOKUPS":true},"LOG_MODULE_RESOLVER":true}; 
     window.EmberENV = window.FooENV.EmberENV; 
    </script> 
    <script src="assets/vendor.js"></script> 
    <script src="assets/foo.js"></script> 
    <script> 
     window.Foo = require('foo/app')['default'].create(FooENV.APP); 
    </script> 
    </body> 
</html> 

我怎樣才能解決這個問題呢?

感謝,

大衛

+0

您是否首先使用'ember build --environment production'來構建項目?它將構建項目並將其添加到'/ dist'文件夾,然後您可以使用它。 – Altrim

+0

是的。我發現,如果我打開它在鉻它抱怨說,它沒有找到我的vendor.js「無法加載資源:net :: ERR_FILE_NOT_FOUND file:/// J:/assets/ndd.css」我該如何解決這個問題? –

+0

可能您正在引用css中的資源文件夾中沒有的圖像或文件。檢查指南如何添加資源,如圖像,字體等,以及如何包括它們http://iamstef.net/ember-cli/asset-compilation/ – Altrim

回答

4
file:///J:/assets/ndd.css 

這看起來像你對我只是雙擊了您的index.html文件在你的DIST文件夾中。這不行!

您必須通過http服務器爲您的目錄提供服務。

安裝一個簡單的HTTP服務器NPM:

npm install -g http-server 

移動到您的DIST文件夾,運行http-server。你會看到類似這樣的消息:

Starting up http-server, serving ./ on port: 8080 

現在你可以檢查你的灰燼應用在Firefox上:http://localhost:8080

5

這裏是你必須以正確部署在Apache的灰燼CLI應用程序做什麼。我們假設你打算使用XAMPP。您可能要在htdocs內創建一個文件夾,並將其命名爲myapp。當從myapp運行ember new appname命令時,CLI在生成整個項目時將其放入appname文件夾中。

現在,當您構建項目ember build時,應用程序的整個編譯版本將位於:myapp\appname\dist

由於灰燼CLI使用在index.htmlbase meta標籤,你將需要修改baseUrl變量myapp\appname\config\environment.js,並將其設置爲myapp/appname/dist/。重建和應用程序將通過訪問localhost/myapp/appname/dist

這是一個稍微複雜,完全不切實際的文件夾結構工作,但它是如何工作的一個很好的例子,我相信新人會在完全相同的用例絆倒。

相關問題