我用 ember cli 开始了我的第一个项目,我注意到实时重新加载不起作用。当我启动开发服务器时,我收到多条错误消息(见下文)。对代码库的更改仅在重新启动服务器后可用。
$ ember server
version: 0.1.2
Livereload server on port 35729
Serving on http://0.0.0.0:4200/
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
...
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
2014-12-03 17:51 ember[16491] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
Build successful - 1180ms.
Slowest Trees | Total
-------------------------------+----------------
Concat | 368ms
ES6Concatenator | 150ms
ES3SafeFilter | 149ms
JSHint - App | 104ms
JSHint - Tests | 80ms
在此阶段,我安装了以下软件包/插件:
DEBUG: -------------------------------
DEBUG: Ember : 1.7.0
DEBUG: Ember Data : 1.0.0-beta.10
DEBUG: EmberFire : 1.3.1
DEBUG: Handlebars : 1.3.0
DEBUG: jQuery : 1.11.1
DEBUG: -------------------------------
知道什么可能导致此问题吗?每次更改都重新启动服务器非常烦人。感谢您的建议。
该错误本质上是由 FSEvents 监视太多文件引起的。如果您使用的是 Sublime Text,请尝试从项目中排除 node_modules/
、 tmp/
和 dist/
(将它们添加到 Sublime 用户首选项中的 folder_exclude_patterns
数组中)。
如果您没有使用Sublime,或者这样做不能解决问题,请尝试将您的Node版本和ember-cli
版本升级到最新版本,并在OS X上安装Homebrew,并使用brew install watchman
安装watchman
(因为最新版本的ember-cli
不再依赖FSEvents。
资料来源:https://github.com/ember-cli/ember-cli/issues/1260#issuecomment-67549158
将此参数(liveReload 和 Watcher) 添加到文件
/.ember-cli中,这将以如下所示的内容结束:
{
/**
Ember CLI sends analytics information by default. The data is ...
*/
"disableAnalytics": false,
"liveReload": true,
"watcher": "polling"
}
/* 池化,这就是魔法来的地方,允许在主机和外部编辑文件(例如:虚拟机和服务器相关)*/