模块的导来导去

前记

概述

几种之前的模块加载方案:CommonJS(服务器)和AMD(浏览器)。
ES6的模块加载规范可以完全取代上两者,成为浏览器和服务器通用的模块解决方案
知己知彼,方能百战不殆。先来看看之前的两种加载方式。

1.CommonJs

CommonJs规范

概述

每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

1
2
3
//test.js 这个文件就是一个module
var myName = 'hzhuang';
var mySex = 'boy';

在模块内部的话,module这个变量是存在的,表示当前的模块。想将myNamemySex这两个变量共享到其它模块的话,则除了设置window对象上的属性外(不推荐),可以将它们用module.exports(对外接口)方法输出出去。然后在其它模块中`require(filePath)`引入到其它的模块中。

认真玩玩angular4

策略

  • 在于质量,不在于速度。
  • 一点点的系统推进,状态不好换其他的,不想看换其他的……
  • 做好系统性的笔记,做到心中有大纲的地步。

如何开始一个项目?

对于react项目而言,fackbook出了一个create-react-app包,可以快速的搭建出一个大型项目的框架。在个人经验中,是用webpack模块化打包工具+express/webpack-dev-serve启动本地服来自行搭建开发环境的。后续会整理一片文章。
对于angular4,是用angular cli这个命令行工具来初始化一个项目的。

1
2
3
4
5
6
7
8
//全局安装angular cli
npm install -g @angular/cli

//创建一个新的项目
ng new appName

//启动本地服务
ng serve --open

gulp学习笔记

gulp简介

gulp是基于nodeJs的一种对代码构建的构建工具,可以自动化完成项目任务,包括javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。即相比于 grunt 的频繁 IO操作,gulp的流操作,能更快地更便捷地完成构建工作。

jquery源码分析总体架构

说明

今年的年中2015.06.18,就在京东买了jquery技术内幕,今年九月初拿到offer以来就没有再找工作了,所以开始看了一部分这本书,当时只是看并没有整理成博客,现在自己的博客功能迭代的也可以了,还用七牛云做图床,所以就开始折腾整理成博客(加深学习理解)。

  • 我的这个博客系列其实就是学习笔记。
  • 下载的jquery1.7.1的方法:随便找一个cdn的输入网址后,改下版本就ok了。看这里

我的sublime text3

题记

作为前端一年多来,用过几款编辑器,hbuilder,notepad++,sublime, webstorm等。其他的没有用是因为,我刚开始入门的时候由于是在学python,用的notepad++,后来转成前端之后,就顺手用了它,第一想法是刚开始学习的时候,代码还是多自己码码比较好。之后随着自己的专业性增强,用了sublime text3,此乃神器也。当然,最专业的还是webstorm(折腾过一段时间)。
废话不说了,开始啦!

微信X5内核webview调试

题记

记得在简书中很早就发现并收藏这篇文章了,但是点进去一看,又是tbs又是java和android,被吓傻了,果断关了网页。而后的契机(主要有大神带啦)让我重新来学习这篇文章,原因有几个:

前端代码规范-js

高质量的javascript

养成良好的编程习惯

  • 用匿名函数将脚本包起来,可以有效控制全局变量,避免冲突隐患。
  • 使用命名空间
1
2
3
4
5
6
7
8
9
10
11
<script>
var GLOBAL = {};
</script>

<script>
(function(){
var a=123,b="hello world";
GLOBAL.A={};
GLOBAL.A.str2 = a;
GLOBAL.A.str = b;
})
</script>