进入现在公司之后这几年只专注做后端开发,基本就没有做前端相关开发了,大公司就是人员职责分配清晰,前后端分离,各司其职,专注拧自己的螺丝。但最近有个私活,自己是主力,没有专门的前端,这下傻眼了,一下子发现自己对于前端out太多了,于是又开始学起前端来,真是技多不压身,欠下的都要学回来呀,呜呜~~我这里补一些概念上的东西。
Node.js
Node.js 是一个基于 Chrome V8 引擎的开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!
简单讲node.js就是一个javascript的运行环境(平台),他不是一门语言,也不是javascript的框架。可以用来开发服务端应用程序,web系统。其特点是体积小,快速,高性能
npm是什么?
简单的说,npm就是JavaScript的包管理工具,类似Java语法中的maven,python中的pip。npm是和Nodejs一起并存的,只要安装了Nodejs,npm也安装好了。
三大主流框架:React、Vue、Angular
那么问题来了:React、Vue、Angular我们叫“前端框架”,像Bootstrap、EasyUI 我们也叫前端框架,这两个“框架”是一个东西吗?如何定义解释VueJS、AngularJS、React、Bootstrap、EasyUI 前端框架?
baidu了一下,好多对于这种概念也容易混淆,当然,对于真正前端攻城狮能够理解,对于我这种前端菜鸟就懵逼了,云里雾里的,不利于深入理解。于是,各种资料看呀,终于有点自己的理解:
VueJS、AngularJS、React是以构建环境,快速搭建路由页面的,更偏向与搭建整个前端工程架构,包括与后端数据交互及界面UI,提供全套UI组件,还有 一些数据驱动功能,所以是真正的前端框架;
而Bootstrap、EasyUI只是一套前端界面UI框架
就像盖房子的框架,
纯粹的承重柱和承重梁组成的,也是框架,
添加了部分墙面的,也是框架,
添加了门窗结构的,也是框架,
甚至抹水泥了,还是框架,
只有装修可入住了,才算是成品房
Bootstrap = 墙面 + 门窗结构 +水泥
vuejs,AngularJS、React = (承重柱 + 承重梁)[数据驱动] + (部分墙面 + 门窗结构 + 抹水泥)[UI]
Vue的UI组件库:Elemen-UI/iView/Ant Design
在框架基础上进行开发,引入的第三方插件或依赖项,我们称之为库。库是为了在框架上更快速的开发,分为逻辑层和样式层。比如UI库:Elemen-UI/iView/Ant Design。
Element UI
文档:https://element.eleme.io/#/zh-CN/component/installation
vue-element-admin预览:https://panjiachen.github.io/vue-element-admin/#/login
vue-element-admin项目文档:https://panjiachen.github.io/vue-element-admin-site/zh/
vue-element-admin项目源码:https://github.com/PanJiaChen/vue-element-admin
Ant Design Vue
文档:https://vue.ant.design/docs/vue/introduce-cn/
Ant Design Pro预览:https://preview.pro.loacg.com/user/login
Ant Design Pro项目文档:https://pro.loacg.com/docs/getting-started
Ant Design Pro项目源码:https://github.com/sendya/ant-design-pro-vue
iView
文档:https://www.iviewui.com/docs/introduce
iView-admin预览:https://admin.iviewui.com/login
iView-admin项目文档:https://lison16.github.io/iview-admin-doc/#/
iView-admin项目源码:https://github.com/iview/iview-admin
Webpack
Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。
webpack这个工具非常强大。对前端中所有模块进行打包,输出js文件,后续引入这个js文件,在服务器上线,然后在域名中访问写好的项目;webpack还能支持模块化加载(类似java,import xxx)。