使用ember-cli,我应该“服务”还是“构建”?

时间:2014-08-26 12:44:56

标签: ember.js ember-cli broccolijs

我使用的是Windows 7,ember-cli版本40.每次更改代码时,我都必须退出服务器并重新启动它,因为每次保存一些更改时,tmp目录都会出现Broccoli“ENOENT”错误。

过去几天的操作方式只是按Ctrl + c,然后再次ember server。制作时间超过100秒。所以我想知道我是否应该在某个时间做ember build,然后ember server或者如果有人知道为什么Broccoli不会像它应该的那样自动重建。这是一个小项目,只有几个依赖项,但我刚从tmp文件夹中删除了超过6GB,因为新的东西一直被复制到那里。

修改

我升级到ember-cli版本42,Windows 7上的时间下降到22秒左右,这是一个很大的改进

我的Brocfile.js:

/* global require, module */

var pickFiles = require('broccoli-static-compiler');
var mergeTrees = require('broccoli-merge-trees');
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var fontTree;
var app = new EmberApp();

fontTree = pickFiles('vendor/fontawesome/fonts', {
  srcDir: '/',
  files: ['*'],
  destDir: '/assets/fonts'
});
// Use `app.import` to add additional libraries to the generated
// output files.
app.import('bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap.js');
app.import('bower_components/moment/moment.js');

//module.exports = mergeTrees([app.toTree(), fontTree]);
module.exports = app.toTree();

4 个答案:

答案 0 :(得分:2)

一个小项目100秒?你一定要调查错误。通常,您只需运行ember server,并在文件更改时重建项目。大型项目的重建可以超过7-10秒,但通常是因为很大的依赖性。

我鼓励您探索ENOENT错误。另外,将#ember-cli放在IRC(freenode)上并询问那里。

答案 1 :(得分:2)

这是其他人报道的问题。由于Windows索引/搜索,Windows上存在性能问题。如果禁用此功能,则应恢复大部分性能。其他人也提到它为他们解决了这个余烬服务问题:https://github.com/stefanpenner/ember-cli/issues/1253

其他一些链接: - Slow build time in Windows Environment - Improve Windows experience

答案 2 :(得分:0)

我刚刚将我的应用程序升级到ember-cli v 0.0.42,并立即看到我的ember server次下降到大约20秒,这仍然很慢,但比180好多了似乎表明团队做了一些改进Windows速度的修补程序。我知道大多数Web开发社区都在Apple机器上,所以我希望Windows支持能够延迟,这只是事情的本质,这是好的。

答案 3 :(得分:0)

在较新版本的ember-cli(0.1.0)及以上版本中,我认为,如果您以管理员身份运行“ember serve”命令窗口,则会出现一堆其他加速版,因为现在它可以使用符号链接而不是而不是复制,并且在那时Windows上的构建时间降低到与unix / osx相同的速度。 (见http://www.ember-cli.com/#symlinks-on-windows