请问下,node.js 一般是运行在服务器的代码;在前端项目开发中是扮演什么角色呢?

mark
  • 194

一般在写 vue.js前端项目 的时候,都会使用到node.js,比如,npm 安装 一些node.js的三方包到node_modules/

1.请问下,node.js 一般是运行在服务端的代码;在前端项目开发中是扮演什么角色呢?只是npm run dev 这样运行webserver吗?

2.还是说Node.js 也可以编写一些前端的代码?但是Node.js是运行在服务端的程序,怎么可以写前端代码呢?(我这个猜想是错误的吗?)

回复
阅读 1.2k
5 个回答
farmerz
  • 1.3k
✓ 已被采纳

nodejs是js这种语言的运行环境,包括语言引擎和核心代码库。
vuejs相遇使用nodejs只是当做工具,用来整合打包源码和方便开发。
运行在服务器的node.js是类似java、php这样的角色,用来做静态文件服务和cgi服务。

先去明白前端和后端什么意思就好。

vue或者react都有ssr,即server side render,服务器端渲染,就是把你写得vue源码渲染成直接浏览器直接显示的html文件。
这个就和java的jsp,freemaker,php的leveral更像了,就是把渲染引擎放到服务器端。

vue和react这样的js库模版引擎,只能使用nodejs来渲染,此时后端的nodejs,增加了个渲染的功能。

而我们更通通常使用的vue和react,其使用方式是,使用js懒加载,把模版下载到浏览器端,浏览器端使用vue引擎,来解析成能够渲染的dom。

如果上面的话能够弄明白,基本就对vue,nodejs和后端nodejs会有清晰地了解了。

前后端不要分的太死,node就是个工具,你需要的时候就用。

前端需要依赖管理、打包、部署工具,用C写也可以,只是node更简单。

Node.js和前端代码是风马牛不相及的两个东西,Node.js本质上就是一个支持运行js的环境,环境和代码不是一个层面上的东西

nodejs确实是运行在“服务器”上的代码,
但是你是怎么定义服务器的呢?
你试着把你运行npm run dev的电脑,理解成一台服务器呢?
这样你1,2两点问题都迎刃而解了

无论如何请记住,你讨论的是“前端开发”,在这个短语中,“前端”只是一个定语,你真正讨论的,是“开发”,是“开发”,是“开发”。

开发意味着什么?

  • 政府要开发一个区域来建立科技城的时候,第一件事肯定不是把附近的大学科研人员全部撵到这片荒山野岭立马搞科研、做产业转化,而是让测绘的、设计的、施工的、验收的……几十波工程人员把这片地区“开发”好,再安排企业、机构、学校入驻;
  • 芯片公司要开发一个新模块的时候,第一件事肯定不是找个硅片往上面通电运行,而是先用 C、Perl、Python 等语言做好算法验证,用 VHDL、SV、Chisel 等语言做逻辑设计,在 VCS、ModelSim、iverilog、FPGA 等平台上做仿真验证,然后是后端设计、工艺设计、版图绘制……流片之后终于可以上电路板测试。

那么——
工程人员在科技城“开发”中扮演什么角色呢?他们是绝对的主角,他们踩过的泥泞后来铺成了柏油路,他们住过板房的地方后来成了高楼大厦,但是新区落成之后并没有他们的一隅之地。
开发软件在芯片的“开发”中扮演什么角色呢?在芯片工业刚刚起步的年代里也许没有这些东西,但是现代的芯片设计已经离不开这些软件了——即便它们不是真正被刻到硅片上的那一部分。

xie_zhichao
  • 1.1k
  • 首先,Node.js 是一个运行环境,可以运行 JavaScript,它类似于浏览器内嵌的 JavaScript 运行环境。实际上,Node.js 就是 Chorme 内置的 V8 JavaScript 运行环境移植而成;
  • 然后,Node.js 可以用做服务器,运行服务端。也可以作为脚本工具,现在前端的包管理、打包工具,都是 Node.js 脚本;
  • 总结,前端代码和后端代码的区别是:运行在哪里?客户端(前端)运行的是客户端代码,服务器端运行的是服务端(后端)代码。 Node.js 是一个运行环境,没有编写前端或后端代码的说法,可以说它运行前端打包脚本,运行 JavaScript 服务端代码, JavaScript 服务端可以为前端服务,比如服务器端渲染
宣传栏