2016-07-25 42 views
0

我目前正在使用舊軟件作爲前端和後端框架的項目。升級耦合Ember和Laravel項目(相同的文件夾)

前端:Ember 1.8和後端:Laravel 4.2。

Ember需要2.5,Laravel需要5.2。

我已經看到Laravelshift網站升級後端,我寧願使用由於節省時間。

現在Web應用程序使用Laravel和ember設置在相同的目錄中..emb文件夾位於名爲「client」的目錄中,並且Laravel文件位於「app」下。

我試圖在沒有完全分離項目的情況下升級Ember,並且失敗了很多次,終端在解析json文件時抱怨錯誤(指package.json/bower.json)。

這樣做的正確方法是什麼?你是否需要在Github上單獨搜索每個依賴項,並查看它是否與新的Ember版本兼容並手動安裝?

到目前爲止,我已經使用:http://emberigniter.com/update-latest-ember-data-cli/和一些其他指南,並沒有取得任何進展。

我使用一飲而盡作爲任務運行,當我運行它來編譯項目就吐出了這個錯誤:

/Users/JCharnock/Desktop/newatp/pt2/build/js-common.js:27 
var emberBuild = path.resolve(pkg.browser.ember); 
             ^

TypeError: Cannot read property 'ember' of undefined 
    at Object.<anonymous> (/Users/JCharnock/Desktop/newatp/pt2/build/js-common.js:27:42) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at /Users/JCharnock/Desktop/newatp/pt2/gulpfile.js:31:11 
    at Array.forEach (native) 
    at Object.<anonymous> (/Users/JCharnock/Desktop/newatp/pt2/gulpfile.js:25:28) 

有沒有人有這樣繁瑣的工作經驗嗎?一個正確的方向將是很好的。

回答

0

要發言的餘燼部分,我強烈建議搬到ember-cli。我最近做了這樣的跳躍,說實話,這是一個lot的工作!

一般來說,你應該嘗試的是如果可能的話首先跳到燼1.13,然後跳過2.0標記。這是因爲如果你在1.13沒有任何棄用的情況下運行它,它也將在2.x下運行!

所以最好的大概是這樣的順序:

  • 第一招至燼1.13,禁用依賴於其他插件一切
  • 然後移動到燼-CLI
  • 然後跳轉到燼2.X
  • 重建所有插件的東西

另一種方式,我做的是從一個新的ember-cli應用程序開始,並通過文件集成舊的代碼文件。這可能是更好的解決方案,如果你必須改變很多,並且如果你移動到ES6模塊必須觸及每個文件。

不利的一面是,你不會從1.13得到好的棄用,你的應用程序可能會停止工作。所以你不能這樣做你的洞應用程序,但必須按文件做文件。對我來說,這是一個星期,只是坐下來,做一下,轉移一個組件,測試它,然後修復它。

它是一個很大的跳躍。祝你好運。