web前端开发学习总结-1
正式开始学习前端开发,以前就会写简单的html,js,现在回来一看,内容实在太丰富了,基本要从基础学起。 努力。。。努力。。。学前端,首先要选个前端框架,VUE,Angular,React,好吧,对于一个初学者来说,有些晕了。https://www.zhihu.com/question/27791075只能往头再捋捋,先把相关知识过一遍。查询vue,发现都是说vue要配合webpa
正式开始学习前端开发,以前就会写简单的html,js,现在回来一看,内容实在太丰富了,基本要从基础学起。 努力。。。努力。。。
学前端,首先要选个前端框架,VUE,Angular,React,好吧,对于一个初学者来说,有些晕了。
https://www.zhihu.com/question/27791075
只能往头再捋捋,先把相关知识过一遍。查询vue,发现都是说vue要配合webpack来使用,再看一下什么是webpack:
http://www.w2bc.com/Article/50764
基本概念:
webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。
webpack 是以 commonJS 的形式来书写脚本滴,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
https://www.zhihu.com/question/20351507/answer/14859415
对于依赖的模块,AMD 是提前执行(异步模块定义,requirejs 是实现),CMD (通用模块定义,seajs是实现)是延迟执行,CommonJs是为了服务器端开发的规范(同步的,node.js是实现)
CommonJs
http://zccst.iteye.com/blog/2215317
根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。
//require方法默认读取js文件,所以可以省略js后缀
var test = require('./boobar').foobar;
test.bar();
CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的操作。像Node.js主要用于服务器的编程,加载的模块文件一般都已经存在本地硬盘,所以加载起来比较快,不用考虑异步加载的方式,所以CommonJS规范比较适用。但如果是浏览器环境,要从服务器加载模块,这是就必须采用异步模式。所以就有了 AMD CMD 解决方案。
AMD异步加载模块。它的模块支持对象 函数 构造器 字符串 JSON等各种类型的模块。
适用AMD规范适用define方法定义模块。
//通过数组引入依赖 ,回调函数通过形参传入依赖
require([module], callback);
require(['clock'],function(clock){
clock.start();
});
CMD推崇依赖就近,AMD推崇依赖前置。 AMD支持CMD的写法
//AMD
define(['./a','./b'], function (a, b) {
//依赖一开始就写好
a.test();
b.test();
});
//CMD
define(function (requie, exports, module) {
//依赖可以就近书写
var a = require('./a');
a.test();
...
//软依赖
if (status) {
var b = requie('./b');
b.test();
}
});
好了,终于对这些模块化有了一定的了解,更具体的需要去实践中学习了。
里面内容大都是根据网上资料东拼西凑而成,只是为了进一步增强理解,整理到一起,以备回头再看。
更多推荐
所有评论(0)