直到最近,我总是使用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编写的。
答案 0 :(得分:0)
建议使用Ember CLI,但最新版本不需要。你仍然可以使用“全局风格”,即使是版本2.0-beta。所以,如果你知道你失去了什么,你仍然可以继续咕噜咕噜,但我会说你不应该期待官方文档/指南等的支持。现在大多数插件转换为Ember CLI,所以需要一些努力使其适用于全局样式应用程序(之前在GitHub上有ember-cli-export-addon
存储库,但现在它已经消失了),但是仍然可以使Ember CLI插件与全局变量一起使用。
现在,关于你的担忧:
ln -s
从dist/
绑定到您的后端应用程序目录,或者,为了开发目的,将单独的Ember应用程序与Java后端绑定。