node.js、npm、webpack、vue-cli之间的关系
1、首先,js原本只能运行在浏览器的谷歌V8引擎上,但是我们想要用js编写后端的业务逻辑,所以有人就把前端浏览器的谷歌V8引擎模块放到了后端服务器上,这样后端就拥有了js的运行环境了,这个环境就是node.js;
2、通过js可以写很多的功能模块,并且这些模块也可以在node.js这个环境下运行,但是当写的功能模块太多时就很难管理,所以node.js官方就推出一个npm功能包管理工具专门管理这些功能模块包,并且还可以在网上使用npm与别的开发者共享彼此的功能模块代码,避免造重复的轮子,大大提升了开发效率;
3、通常在node.js环境下编写的代码模块是不能在浏览器上直接运行的,需要把这些浏览器无法运行的代码打包编译成浏览器能够运行的代码才能在浏览器上展示出来,webpack(就是一个功能模块包,通过npm安装)就起到了打包编译的作用;
webpack打包编译之后的静态文件虽然浏览器可以运行,但是需要把这些静态文件放到服务器上,浏览器通过协议请求从服务器上获取才能在浏览器上展示出来;如果浏览器直接打开这些静态文件是无法展示的;
4、通过3可以看出,我们在做前端开发的过程中,node.js环境就相当于一台部署在自己本地电脑上的后端服务器,node.js本身把打包编译、部署静态文件到服务器这些步奏全做了,然后浏览器像请求真实服务器一样请求本地这个node.js服务器;
5、vue-cli自动生成一个vue项目文件夹,这个项目文件夹中包含项目的配置文件、依赖包信息文件等,我们可以通过进行简单的修改这个项目中的部分文件,来实现直接的业务开发,不需要手动的再去创建这些项目文件,大大的提升了开发的效率;