web前端开发学习总结-1
来源:互联网 发布:zabbix windows 模板 编辑:程序博客网 时间:2024/05/16 04:19
正式开始学习前端开发,以前就会写简单的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();
}
});
好了,终于对这些模块化有了一定的了解,更具体的需要去实践中学习了。
里面内容大都是根据网上资料东拼西凑而成,只是为了进一步增强理解,整理到一起,以备回头再看。
- web前端开发学习总结-1
- web前端开发总结
- web前端开发总结
- Web前端学习总结
- web前端开发学习
- web前端学习开发
- 前端开发学习总结
- Web前端开发学习1:静态网页
- Web前端开发学习1:静态网页
- mobile web前端开发总结
- 移动web前端开发总结
- web前端开发学习经验总结
- web前端开发学习资料
- WEB前端开发学习----简介
- web前端开发学习笔记
- web前端开发学习经验总结
- web前端开发学习经验总结
- 为什么学习web前端开发?
- Unable to Download App (app下载出现的问题)
- json/Gson的学习
- 转载离线缓存的介绍
- 个人使用Sublime Text3 过程中用到的小技巧和疑问汇总
- java 读取文件的路径方法
- web前端开发学习总结-1
- 可复用面向对象软件基础——设计模式(一)之总览
- [Java并发包学习三]ThreadFactory介绍
- 牛客:剑指offer:顺时针打印矩阵 (Java)(同leetcode的spiral matrix i 和ii)
- Git远程操作详解
- 压力测试工具--JMeter使用指南
- 菜鸟入行
- SQLServer】“无法对数据库'XXX' 执行删除,因为它正用于复制”的解决方法
- redis专题-2.安装Redis