2016-03-19 80 views
0

我正在準備一個演示我的新的應用程序,暫時將其部署到靜態http服務器,沒有適當的後端。ember demo ember-cli-mirage無法在沒有後端的服務器上工作

我已經將項目配置爲從幻影中獲取其數據,並且它在本地很好地工作。

的問題是,當我把它上傳到我的http服務器,海市蜃樓似乎並不奏效,並演示提出:

vendor-1bce2a3….js:11 Error while processing route: activities Ember Data Request GET /activities returned a 404 
Payload (text/html) 
[Omitted Lengthy HTML] Error: Ember Data Request GET /activities returned a 404 
Payload (text/html) 
[Omitted Lengthy HTML] 
    at new Error (native) 
    at Error.r (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:8:14790) 
    at Error.n (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:19:25963) 
    at e.default.r.default.extend.handleResponse (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:22:29329) 
    at c.error (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:22:29898) 
    at u (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:2:9669) 
    at Object.c.fireWith (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:2:10437) 
    at n (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:3:13352) 
    at XMLHttpRequest.<anonymous> (http://www.my-domain.com/myproject/assets/vendor-1bce2a36ef171f16e76daffe157c9b37.js:3:19180) 

這是我的海市蜃樓的配置:

// app/mirage/config.js 
export default function() { 

    this.get('/activities', function(db, request) { 
    return { 'activity': db.activity }; 
    }); 

    this.get('/activities/:id', function(db, request) { 
    var id = request.params.id; 
    return { 'activity': db.activity.find(id) }; 
    }); 
} 

它工作在我的本地機器上找到,但它不會在http服務器上工作,有關如何讓演示工作的任何想法?

感謝,

+1

是你試圖讓Apache的東西工作的服務器? Nginx的? IIS? – chrixian

+0

我認爲這是一個Apache它是其中一個可以發佈PHP網站的網絡主機,我在根目錄下有一個wordpress應用程序,並在其中創建了一個目錄,並嘗試通過以下方式訪問它:'http://www.my- domain.com/myproject /' –

回答

2

默認情況下,幻影被禁止在production構建。你可以用ENV選項來啓用它:

// app/config/environment.js 
... 
if (environment === 'production') { 
    ENV['ember-cli-mirage'] = { 
    enabled: true 
    } 
} 

查看文檔的更多信息:http://www.ember-cli-mirage.com/docs/v0.1.x/server-configuration/#enabled

+0

感謝這一點,我收到以下錯誤:'mirage/config.js:第3行,第7列,'環境'未定義.'和'mirage/config.js:第4行,第5列,'ENV'沒有定義。'有什麼想法? –

+0

謝謝,實際上要更改的文件是'config/environment.js',如下所述:'http:// www.ember-cli-mirage.com/docs/v0.1.x/server-configuration /'謝謝給我提示。 –

+0

是的,你是對的! –

0

既然你說你可以使用PHP,你很可能會使用Apache和需要改變它如何處理請求使用HTML5 pushState的......工作,如果你不已經有一個.htaccess文件在您/myproject目錄,創建它,有它包含:

FallbackResource /myproject/index.html 

這將有阿帕奇沿東西的任何請求傳遞不存在(通常會導致一個404)到指定的路徑...

相關問題