vue为什么需要nodejs 的环境
一、JavaScript
传统的JavaScript是运行在浏览器上的,因为浏览器的内核分为两个部分
二、什么是Node.js
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,运行在服务端的JavaScript。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
综上所述,vue.js 是通过 webpack来打包,而webpack 又基于 npm, npm需要nodejs环境。这就是为什么vue.js 还需要安装nodejs环境。
将目标dist文件夹拷贝到一台未安装nodejs的 nginx服务器上,访问页面可以正常响应逻辑。这时跟nodejs没有任何关系,服务器又不是nodejs在担当,而是nginx。如果你用nodejs来部署服务器,则需要在目标机上安装nodejs.
简单的说:你既可以开发nodejs的服务程序,亦可以用基于nodejs的npm webpack来打包 目标前端页面。vue.js 使用webpack来打包,故而需要nodejs环境。
参考文章
node.js的v16.15.0版本支持vue项目吗?
支持,node.js的版本不会影响到vue项目的运行。Vue项目的运行依赖于Vue.js框架和相关的插件,而不是node.js的版本。所以可以使用node.js的v16.15.0版本来运行Vue项目。
vue项目要部署在服务器上,那么服务器需要安装node.js环境吗?
最好是安装一个。
1.如果你仅仅是打包好的vue相机,那么要看服务端使用的是什么语言,如果是node的话,肯定要安装node环境的,但是如果不是node,那么就没有必要了。
2.如果你想在服务端跑vue的项目,也就是在远程端做开发工作,那么肯定是要安装node的,毕竟vue开发环境需要node。
基本上服务端也就这两种需求,node包其实很小,安装一个也不费事,还可以方便开发,我觉得在远程端按一个最好。
解释下vue.js为什么需要node js环境
看了下网上的解释,一般都是将介绍vue.js的文本与node js的文本 贴过来, 再解释说 前者是前端开发框架,后者是js的运行环境,可以以js开发后台服务器。似乎没有说到点子上。
我的理解是
1. nodejs是一个很强大的js 运行环境,类似于jvm之于java。因此对js的支持非常好,催生了基于js的一系列应用开发。源于各js的应用的成长壮大,继而催生出了 npm
2. NPM是基于node js环境的一个包管理器。试问 为什么单纯的 jsp/php里面没有NPM?因为没有一个类似于nodejs的强大的js运行环境的支撑。由于nodejs 催生了js的兴盛,又进而催生出NPM来打包管理这些基于js的应用
3. 随着前端开发的网页元素不断丰富和复杂化,催生出webpack 来进一步规划js应用的打包部署。前端目标页面资源,通过webpack来打包压缩出来。
4. 可以看出vue.js 就是遵循的webpack 的方式来部署的,我们使用npm run build之后,会生成一个目标dist文件。这即是目标静态web资源,放在nginx下面即可通过网页访问。
综上所述,vue.js 是通过 webpack来打包,而webpack 又基于 npm, npm需要nodejs环境。这就是为什么vue.js 还需要安装nodejs环境。
将目标dist文件夹拷贝到一台未安装nodejs的 nginx服务器上,访问页面可以正常响应逻辑。这时跟nodejs没有任何关系,服务器又不是nodejs在担当,而是nginx。如果你用nodejs来部署服务器,则需要在目标机上安装nodejs.
简单的说:你既可以开发nodejs的服务程序,亦可以用基于nodejs的npm webpack来打包 目标前端页面。vue.js 使用webpack来打包,故而需要nodejs环境。