最新版本需要Ember-cli吗?

时间:2015-06-21 20:39:05

标签: ember.js ember-cli

直到最近,我总是使用Gulp来编译/ uglify / minify我的Ember.js代码,它运行得很好。 这是Ember 1.11

现在我想升级到Ember 1.12并注意到Ember-cli现在是安装/升级Ember.js的首选和推荐方式 这是否意味着不再推荐下载单独的Ember库并通过gulp自行编译所有内容?

我使用ember-cli的主要问题如下:

[1]感觉我对正在发生的事情没有足够的控制权。 例如。我需要在我的前端有两个html文件 - 一个可公开访问,一个受保护 - 并且ember-cli似乎明确地查找了一个index.html文件。 我可以通过将其他html文件放在“public”文件夹中来解决这个问题,但这更像是一个黑客而不是最终的解决方案。

[2] ember-cli正在花费很多时间来编译我的应用程序。 使用Ember 1.11和gulp仅需2或3秒,而使用ember-cli(使用Ember 1.12)则需要更多时间才能实现更简单的应用程序。 (实际上它目前只包含应用程序的登录/注册部分,而带有Ember 1.11和gulp的应用程序也包含应用程序逻辑)

$ time ember build
version: 0.2.7
0.2.7

Could not find watchman, falling back to NodeWatcher for file system events.
Visit http://www.ember-cli.com/#watchman for more info.
Building..
services/websocket.js: line 39, col 31, 'SockJS' is not defined.
services/websocket.js: line 298, col 13, 'observerFunction' is defined but never used.

2 errors

services/util.js: line 6, col 9, Bad line breaking before '+'.
services/util.js: line 7, col 9, Bad line breaking before '+'.
services/util.js: line 8, col 9, Bad line breaking before '+'.
services/util.js: line 9, col 9, Bad line breaking before '+'.

4 errors

===== 2 JSHint Errors

Built project successfully. Stored in "dist/".

real    0m55.876s
user    0m35.935s
sys 0m2.643s

正如您所看到的,构建这个非常简单的Ember代码需要将近1分钟。

[3]有了gulp,我可以使用gulp-watch动态更新我的实时应用程序。使用ember-cli可以通过“ember serve”获得类似的东西, 但是这需要应用程序独立运行,而我的应用程序却不是这样。我必须从我的后端应用程序中提供它,该应用程序是用java编写的。

1 个答案:

答案 0 :(得分:0)

建议使用Ember CLI,但最新版本不需要。你仍然可以使用“全局风格”,即使是版本2.0-beta。所以,如果你知道你失去了什么,你仍然可以继续咕噜咕噜,但我会说你不应该期待官方文档/指南等的支持。现在大多数插件转换为Ember CLI,所以需要一些努力使其适用于全局样式应用程序(之前在GitHub上有ember-cli-export-addon存储库,但现在它已经消失了),但是仍然可以使Ember CLI插件与全局变量一起使用。

现在,关于你的担忧:

  1. Engines RFC可能会解决您的问题。
  2. 1分钟很长,也许你的配置错误,或者你的应用确实非常大,即使包含的逻辑不多,或者你在Windows上遇到Ember CLI性能问题,这可以解决。
  3. 也许您可以绑定文件系统更改,例如通过ln -sdist/绑定到您的后端应用程序目录,或者,为了开发目的,将单独的Ember应用程序与Java后端绑定。