升级耦合Ember& Laravel项目(同一个文件夹)

时间:2016-07-25 14:25:45

标签: laravel ember.js gulp upgrade

我目前正在开发一个使用旧软件进行前端和后端框架的项目。

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

Ember需要为2.5,而Laravel需要为5.2。

我见过Laravelshift网站用于升级后端,由于节省时间,我希望使用它。

现在,Web应用程序使用Laravel和ember在同一目录中进行设置.. ember文件夹位于名为' client'的目录中。并且Laravel文件位于' app'。

之下

我试图在没有完全解耦项目的情况下升级Ember并且多次失败,终端中的错误抱怨解析json文件 - (指的是package.json / bower.json)。

这样做的正确方法是什么?您是否必须在Github上单独搜索每个依赖项并查看它是否与较新的Ember版本兼容并手动安装?

到目前为止,我已经使用过:http://emberigniter.com/update-latest-ember-data-cli/和其他一些指南,并没有取得任何进展。

我正在使用gulp作为任务运行器,当我运行它来编译项目时它会吐出这个错误:

/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)

有没有人有过像这样乏味的任务经验?正确方向上的一点很好。

1 个答案:

答案 0 :(得分:0)

为了代表余烬,我强烈建议您转到ember-cli。我最近做了这样的跳跃,说实话,这是很多的工作!

一般来说,你应该尝试的是如果可能的话首先跳到ember 1.13,然后跳过2.0标记。这是因为如果您在1.13上运行而没有任何弃用,它也将在2.x!

下运行

最好的可能是这个顺序:

  • 首先转到ember 1.13,禁用所有依赖于其他插件的内容
  • 然后转到ember-cli
  • 然后跳到ember 2.x
  • 重建所有插件

另一种方法,我做的是从一个新的ember-cli应用程序开始,并按文件集成旧的代码文件。如果您需要进行大量更改,这可能是更好的解决方案,如果您转移到ES6模块,必须触摸每个文件。

缺点是你不会从1.13获得好的弃用,你的应用可能会停止工作。所以你不能为你的洞应用做这个,但必须逐个文件地做。对我来说,这是一个星期,只是坐下来做它,转移一个组件,测试它,修复它,接下来。

这是一个很大的跳跃。祝你好运。