杰拉斯的博客

标签:JavaScript

React+Webpack 前后端同构(服务端渲染)理论篇

杰拉斯 杰拉斯 | 时间:2016-09-08, Thu | 16,535 views
前端开发, 后台技术 

什么是前后端同构(isomorphic)?

其实在这个问题上,我想了很久都没有想出一个比较好的答案。前后端同构,简单地说就是前后端共用一份代码,但这样讲起来,未免有点食之无味,所以我们还是先讲讲 Web 服务端渲染的历史,了解一下前后端同构是在什么场景下衍生出来,它又能够解决什么样的问题。

(阅读全文…)

[设计模式]JavaScript钩子机制的应用场景与实现

杰拉斯 杰拉斯 | 时间:2013-10-29, Tue | 33,007 views
前端开发 

当我们面对比较复杂的前端项目时,我们经常会采用模块化的方式来对JavaScript代码进行解耦,以方便对代码的管理和维护,以下是一个简单的立即执行函数实现的模块化例子:

  1. var Common = (function(){
  2. var func = function(){
  3. // 全局公用方法
  4. }
  5. return {
  6. func : func
  7. }
  8. })();
  9.  
  10. var ModuleA = (function(){
  11. var _count = 1;
  12. var init = function(){
  13. // 独立模块逻辑
  14. }
  15. var getCount = function(){
  16. return _count;
  17. }
  18. return {
  19. init : init,
  20. getCount : getCount
  21. }
  22. })();

模块只对外暴露外部需要的接口,而外部模块不需要关心其内部的运行逻辑,只需要知道调用接口的方式和返回结果,这样就实现了模块的“低耦合,高内聚”。

看起来很美好,可是当项目的逻辑变的越来越复杂时,比如A模块中某个针对全局公用的逻辑,可能在B模块的某种特定情况下需要进行一些额外的逻辑操作,该怎么办呢?

(阅读全文…)

[小积累]不同浏览器中阻止默认事件、冒泡的方法

杰拉斯 杰拉斯 | 时间:2013-10-21, Mon | 21,180 views
前端开发 

IE:

  1. window.event.cancelBubble = true; // 阻止事件冒泡
  2. window.event.returnValue = false; // 阻止事件的默认行为

其它现代浏览器:

  1. event.stopPropagation(); // 阻止事件冒泡
  2. event.preventDefault(); // 阻止事件的默认行为

兼容写法:

  1. // 阻止事件冒泡
  2. if(event.stopPropagation){
  3. event.stopPropagation();
  4. }else{
  5. window.event.cancelBubble = true;
  6. }
  7. // 阻止事件的默认行为
  8. if(event.preventDefault){
  9. event.preventDefault();
  10. }else{
  11. window.event.returnValue = false;
  12. }

借@阿里巴巴 耍了个帅——HTML5 JavaScript实现图片文字识别与提取

杰拉斯 杰拉斯 | 时间:2013-09-16, Mon | 48,051 views
前端开发 

写在前面

8月底的时候,@阿里巴巴 推出了一款名为“拯救斯诺克”的闯关游戏,作为前端校园招聘的热身,做的相当不错,让我非常喜欢。后来又传出了一条消息,阿里推出了A-star(阿里星)计划,入职阿里的技术培训生,将接受CTO等技术大牛的封闭培训,并被安排到最有挑战的项目中,由技术带头人担任主管。

(阅读全文…)