一,react为什么需要node.js 摘自:www.html.cn/qa/react/14… 什么是node.js?简单的说node.js就是运行在服务端的javascript.是一个事件驱动I/O服务端javascript环境
学习react的时候和做项目的时候,听到看到最多的就是需要安装node.js然后就是npm,作为一个初学者一直以为react的运行必须依靠node.js环境。其实并不是.
学习react要按照node.js,主要原因不是react依赖node.js,而是webpack依赖于node.js环境
什么是webpack呢
webpack是一个打包模块器,它就是分析你当前项目的结构把项目中用的浏览器不能理解的东西如:SCSS,jade,Typescript等,按照合适的方式打包并把它翻译成浏览器可以理解的css和js
webpack的核心作用
模块化开发中,我们会编写大量模板,如果不打包就上线,那么页面加载或者交互时,将会发起大量请求,这个时候webpack这样的打包器对模板进行打包整合,以减少请求数,相较于无差别打包依赖模板的传统打包,webpack的核心优势在于它从入口文件出发,递归构建依赖关系图。通过这样的依赖梳理,webpack打包出的bundle不会包含重复或未使用的模块,实现了按需打包,极大的减少冗余
二,webpack跟npm,node有什么关系 什么是npm? 全称 node package management,是nodejs内置的软件包管理器
webpack是npm生态中的一个模块,我们可以通过全局安装webpack来使用webpack对项目进行打包 webapck的运行依赖于node的环境,没有node是不能打包的 npm是于node社区中产生的,是node.js的官方包管理工具,当你下载安装好了node,npm自动就安装好了 正是因为npm的包管理,使得项目可以模块化的开发,而模块化的开发带来的这些改进确实大大的提高了我们的开发效率,但是利用他们开发的文件往往需要进行额外的处理才能让浏览器识别,而手动处理又特别繁琐,这就是weboack工具存在的意义