喜欢啥学啥。
react:组件化程度高,写组件容易,写小项目可能最开始感觉代码多,随着项目复杂需要的代码量会变少
angular:一个非常庞大的框架,功能强大。会的人可以快速开发,不会的人到处踩坑
看了下网上的解释,一般都是将介绍vue.js的文本与nodejs的文本贴过来,再解释说前者是前端开发框架,后者是js的运行环境,可以以js开发后台服务器。似乎没有说到点子上。
我的理解是
1.nodejs是一个很强大的js运行环境,类似于jvm之于java。因此对js的支持非常好,催生了基于js的一系列应用开发。源于各js的应用的成长壮大,继而催生出了npm
2.NPM是基于nodejs环境的一个包管理器。试问为什么单纯的jsp/php里面没有NPM?因为没有一个类似于nodejs的强大的js运行环境的支撑。由于nodejs催生了js的兴盛,又进而催生出NPM来打包管理这些基于js的应用
3.随着前端开发的网页元素不断丰富和复杂化,催生出webpack来进一步规划js应用的打包部署。前端目标页面资源,通过webpack来打包压缩出来。
4.可以看出vue.js就是遵循的webpack的方式来部署的,我们使用npmrunbuild之后,会生成一个目标dist文件。这即是目标静态web资源,放在nginx下面即可通过网页访问。
综上所述,vue.js是通过webpack来打包,而webpack又基于npm,npm需要nodejs环境。这就是为什么vue.js还需要安装nodejs环境。
将目标dist文件夹拷贝到一台未安装nodejs的nginx服务器上,访问页面可以正常响应逻辑。这时跟nodejs没有任何关系,服务器又不是nodejs在担当,而是nginx。如果你用nodejs来部署服务器,则需要在目标机上安装nodejs.