ember 开发中的几个小坑

不能在 ember 项目中任意创建目录

一次折腾项目时想整合 ember 和 express, 在 ember 项目下建了一个 server 目录, 然后 ember start 就报错了.
查了好几个小时没找到原因, 后来才知 server 目录被保留用来存放 mock 相关的文件. ember 和 ember-cli 对目录结构和命名规范均有严格要求,
开发时要注意.

http-mock 和 http-proxy 在 ember-cli 0.46版本中有问题, 不能一起工作.

具体代码是 server/index.js 中的如下几行, 即 bodyParser 将 request 从 stream 转换成了 object, connect-restreamer 将 object
转换回 stream, 但是转换时似乎格式方面有些问题, 所以把两部分同时注释掉之后解决问题. 看我提的这个 issue.

{% highlight javascript %}
app.use(bodyParser.json());
app.use(bodyParser.urlencoded(
));

// proxy expects a stream, but express will have turned
// the request stream into an object because bodyParser
// has run. We have to convert it back to stream:
// https://github.com/nodejitsu/node-http-proxy/issues/180
app.use(require('connect-restreamer')());
{% endhighlight %}

ie8 下面 jquery 的 click 事件 event.which 的坑

在一个功能中我们在 click 事件中用 event.which 来判断用户按下哪个键, 从而实现禁用右键.
但是在其余浏览器下 event.which 的值都是1, ie8 下面缺是 0, jquery 不认为这是一个 bug
却建议尽量使用 event.which, 确实有点坑. 解决方法, 使用 event.button 即可.

{% highlight javascript %}
// should use event.button for click event in ie8
// see http://bugs.jquery.com/ticket/12699
if(event.button !== 0) {
return false;
}
{% endhighlight %}

更新时间:2014-11-10 20:08:17

本文由 topcoder 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://www.topcoder.club/2014/11/ember开发中的几个小坑
最后更新:2014-11-10 20:08:17

评论

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×