只会Jquery,后端程序员如何学会前端(webpack,react,babel,es5,es6)

写在前

希望通过短暂的学习,可以达到一下目标:

   1.能看懂现在前端的工程化手段

   2.知道当前前端群体中大致的解决问题的思路

   3.当前的问题在哪里,技术发展趋势是什么

   4.建立起自己的认知模型

文章内容会以Java 的工程开发作为类比。

概念

    node

       可以类比与JVM(java虚拟机),主要是可以解释与运行JS代码V8 由google出品,chrome的js内核),完成跟其他语言一样的所有功能。一般如果是习惯了Jquery及原生的Javascript的时候,有点难理解,应为之前都是在面向浏览器开发JS。

    npm

       npm,npm就是Node包管理器,如果你的JS程序需要用到其他人的已经写好的Js lib,就可以用NPM下载所需的包,也能管理Lib的依赖关系。

       其中 scripts部的功能,其实就是启动shell执行命令。比如:package.json如下:

          如果

{
   ....
   "scripts":{
      "start":"react-scripts start"
    }

}

以下两条命令是等价的

npm start
node react-scripts start

 

    yarn

       与NPM一样是包管理器,支持的特性更多,差不多就是Maven与Gradle的关系

    webpack

        基于Nodejs的打包工具,类似与maven或gradle的将编译好的文件打包成jar包

    express

        基于Nodejs的Web后端框架,类似与Spring boot+Spring mvc

    EC5,EC6

        为Javascript的语言规范,类似与JDK8,JDK9......或者Http1或者Http2

    Babel

        理解成Javac,但是仅仅是将EC6规范的js翻译成EC5.比如babel/preset-react 就是处理react的代码

    typescript

         微软推出的一种语言,为EC6的加上类型系统,可以理解成JVM上的另外一种语言,不过typescript最后会翻译成js

    react

         一个前端框架,作用类似与Spring之于Java

    vue

        一个前端框架

 理解当前前端的工作模型

  1.前端的开发环境是Nodejs+插件

  2.前端工作产出物是特定语法编写的文件(包括框架),然后通过webpack的babel loader翻译成指定浏览器可以运行的javascript

 

 

 仔细思考一个问题,下载node_modules 中的react js源码是commonjs的。那么在react app最终会打包后,确实不存在的,这是什么原因?

 

 

     

posted @ 2020-11-30 15:50  潇水鱼米  阅读(394)  评论(0编辑  收藏  举报