『壹』 2020年Web前端自学之路指南
今天小编要跟大家分享的文章是关于2020年Web前端自学之路指南。许多人可能跟着网络上的各种教程就入了前端这行的门,但大多数都只是机械的学习着资料中的内容。俗话说,选择要比努力重要。那么学习开发,首先应该要有一个清晰的学习路线。希望这篇文章,能为大家在选择未来的发展方向时提供一些参考和帮助。下面来和小编一起看一看吧!
1、基础学习
●HTML+CSS基础:
HTML进阶、CSS进阶、div+css布局、排版、html+css整站开发,样式美化和浏览器兼容
●JavaScript基础:
掌握js基本语法、条件、语句和循环、js内置对象常用方法、ECMAscript、DOM、BOM、定时器和焦点图,并学习增强逻辑的常用算法,实现木马、拖放、放大镜等常见的网络特效。
●JavaScript高级特性:
正则表达式与JSON、正则表达式案例、JavaScript原理与库封装、闭包、函数节流、作用域链、面向对象基础、事件与运动框架封装
●JQuery基础使用:
DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件的基本使用,开发复杂的交互功能和效果,并能熟悉JQuery的插件开发机制。
2、HTML5+CSS3和移动Web开发
●HTML5:
HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、WebSocket
●CSS3:
CSS3新选择器、伪元素、颜色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作
●图像学:
Canvas、Canvas游戏、数据可视化、Heighcharts.js
●Bootstrap:
响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS
●移动Web开发:
跨终端WEB和主流设备简介、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、商城页面、滚屏
3、HTTP服务和AJAX编程
●WEB服务器基础:
服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍
●PHP基础:
PHP基础语法,使用PHP处理简单的GET/POST请求
●AJAX上篇:
Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用
●AJAX下篇:
JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI用法、使用Ajax实现瀑布流案例
4、面向对象进阶
●面向对象终极篇:
从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器
●面向对象三大特征:
继承性、多态性、封装性、接口
●设计模式:
面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程
5、封装一个属于自己的框架
●框架封装基础:
事件流、冒泡、捕获、事件对象、事件框架、选择框架
●框架封装中级:
运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装
●框架封装高级和补充:
JQuery框架雏形、可扩展性、模块化
6、模块化组件开发
●面向组件编程:
面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序
●面向模块编程:
AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS、CommonJS、ES6Moles
7、工程化&构建、主流的框架
●Web开发工作流:
GIT/SVN、Yeoman脚手架、NPM/Bower依赖管理工具、Grunt/Gulp/Webpack、打包案例
●MVC/MVVM/MVW框架:
Vue.js、React、Angular.js、Backbone.js、Knockout/Ember、项目驱动
8、Node.js全栈开发
●快速入门:
Node.js发展、生态圈、Io.js、Linux/Windows/OS
X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试;掌握node.js全栈的解决方案和在服务器端JS高效开发
●核心模块和对象:
全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操作,序列化和反序列化、文件流操作、HTTP服务端与客户端、Socket.IO
●Web开发基础:
HTTP协议,请求响应处理过程、关系型数据库操作和数据访问、非关系型数据库操作和数据访问、原生的Node.js开发Web应用程序、Web开发工作流、Node.js开发Blog案例。
●快速开发框架:
Express简介+MVC简介、Express常用API、Express路由模块、Jade/Ejs模板引擎、使用Express重构Blog案例、Koa等其他常见MVC框架。
●数据库:
mongoose/mongoDB、MYSQL
●Node.js开发电子商务实战:
需求与设计、账户模块注册登录、会员中心模块、前台展示模块、购物车,订单结算、在线客服即时通讯模块
9、微信系列
●微信公众号
JS-SDK配置、定制菜单、回调、定制分享内容、扫一扫、地理位置、微信音频、图像、语音识别功能、服务器端curl
库、支付、卡券、微店、微信开发模式与公众号分析、统计分析
●微信小程序
小程序项目、uni-app、mpvue
10、移动APP(Web/Native/Hybrid)
●ReactNative简介、ReactNative环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API
●Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)
11、其他
●职业素养
沟通表达、团队合作、目标管理、时间管理、心态管理
●就业指导
简历&投递技巧、面试&笔试技巧
12、推荐一些编程学习网站
01、哔哩哔哩
这个网站如果让我评价,可谓是上边的视频都是非常高质量的,你可以去搜索看一下。
02、菜鸟教程
这个网站虽然不是视频网站,一听名字就知道适合菜鸟的,但是基础的知识写的非常详细,很清晰易懂,非常适合刚开始学习编程的小伙伴。
03、W3School
之前刚开始学WEB开发时,经常在该网站,就是结合w3school学习前端,开发时,如果遇到记不清的标签,就去w3school搜索,平常有时间,就来慕课看前端视频。
类似这样的学习网站还有很多,该开始入门的话上面的网站足矣。其他的网站推荐还有腾讯课堂、实验楼、果壳MOOC学院等、知乎、掘金......
以上就是小编今天为大家分享的关于2020年Web前端自学之路指南的文章,希望本篇文章能够对正在从事Web前端工作的小伙伴们有所帮助,想要了解更多Web前端知识记得关注北大青鸟Web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的Web前端工程师。
文章来源:原创前端猿前端猿指北
『贰』 js怎样获得后台Model中的值
一、通用的thymeleaf模板引擎通过returnmodel和view获取后台返回的数据。项目中的pom.xml文件引用了与thymeleaf相关专的包。
『叁』 <script type="text/html" id="">js模版引擎内运行js脚本
你描述的比较乱,不过我大概能理解你的意思。
因为没有具体的代码,所以也只能说说思路。
按我的理解,重新描述你现在的问题是:
通过模板渲染,或者 ajax 异步载入的 html 内容,会通过 innerHTML 或者一定的 DOM 操作,插入到文档中。你希望在这段文档碎片插入后,执行一些脚本。但是遇到的问题是:插入的脚本无法执行。
那么我的建议的解决方法有以下几种:
1、第一种方法,通过设置定时检查,来判断内容是否完成载入。
在{{data.content}} 中放一个 “标识”。例如:
<!--你正常的content内容-->
<p>。。。。。</p>
<!--特殊的标识-->
<spanid="a_special_id"></span>
然后在整个页面的脚本中,加一个定时检查器 (下面代码放在整个页面的 head 里):
varflag=false;//一个状态标记,记录需要进行的脚本是否执行过
//用来检查的函数
functioncheck(){
//如果脚本已执行过,则退出,避免重复执行。
if(flag)return;
//尝试获取{{data.content}}中的“标识”
varobj=document.getElementById('a_special_id');
//如果获取成功,说明代码已经完成载入
if(obj){
//这里放上你想要进行的操作,例如你问题中的:
jQuery(document).ready(function(){
jQuery('.media-frame-content').css("height",winheight);
});
//设置状态标记,避免脚本重复执行
flag=true;
}else{
//如果代码没有完成载入
//设置定时器,过一段时间再次检查
setTimeout(check,100);
}
}
//开始检查
check();
2、 第二种方法,是针对为什么插入的脚本不能执行来解决的。
一般来说,通过 innerHTML 或者 DOM 方法插入的 script 脚本都不能正常执行。
那么应该在你的模板解析函数中,进行一定的判断处理。
例如 ajax 获得服务器返回的数据后,检查有无 script 块,如果有,则提取其内容,并通过 eval 来执行。
示例代码:
//伪代码,假设下面是一个通过ajax获取get.php页面得到返回数据的模式
$.ajax('get.php',function(data){
varreg=/<script>([sS]+)</script>/i;//正则
varsc;
if(reg.test(data)){
sc=data.match(reg)[1];//提取脚本
data=data.replace(reg,'');//移除脚本
}
container.innerHTML=data;//将html内容输出到当前页面
if(sc)eval(sc);//如果有脚本,则执行脚本
});
以上,请采纳,请给分。
『肆』 如何使用网站模板
你下载psd这些没有什么用,你应该去下载那些带网站后台的模板,去下载那些出名点的模板,比如pageadmin的网站模板、discuz的模板这些安全性高,功能强大,直接下载下来就可以做网站
『伍』 nodejs+express+ejs生成项目
一、说一下
首先保证node环境已经安装完毕,npm能正常使用,安装可自行网络,比较简单,在此不做赘述。
node是否安装成功
express是否安装成功
二、直接开码
安装
注释:
express:安装express框架
express-generator:安装express生成器,可快速生成一个应用的骨架
裂李-g:全局安答洞装
注释:
-e:简写,全称为 --view=ejs ,安装ejs模板引擎
myapp:项目名称,自定义即可
生成如下目录结构
注释:
bin:存放启动脚本文件
bin/www:启动脚本文件,可修改端口号,等功能。
public:存放肆举迟图片,css,js等静态文件
routes:存放路由模块文件
views:存放视图文件,使用的ejs模板引擎
app.js:入口文件,重要的配置文件
package.json:工程信息和安装依赖文件
跟着提示执行下列语句
注释:
cd myapp:进入myapp文件夹,文件名需修改成自己的项目文件名
npm install:安装所有依赖模块,常用的非指定性npm安装命令
npm start:运行项目
(bin/www)
『陆』 关于AngularJS 框架的使用有哪些经验值得分享
国内的确用的不多,但我们是一个,规模算大,用的人100左右,代码100w行以上,以后还会增加。十多个系统,金融类核心系统。
经验个人积累一点,可能和做互联网应用尤其是spa不太一样。
1. 业务类系统,赶快用吧,代码量少一半一般,越复杂优势越明显
2. 性能很多坑,网上的方案不够用的,ie8下很多不能直接the angular way,延迟加载是王道,多次bootstrap也常有,直接改源码常有
3. ui控件太少,完整套的要团队自己开发维护,个性化需求更需要从最底层定制
4. 官方的检验机制要吃透,复杂检验需求变化很多,要设计足够灵活,用watch $error方式又有性能坑
5. 指令是个好东西,重客户端组件化的方向,要理解透,用好
6. 模型设计上,服务端的贫血,充血之分这里可以借鉴。另外模型分类命名空间很重要
如果你的页面不复杂,就没那么多讲究了
最后,seo的,建议html两套,angular有类似工具