跳到主要内容
CNode

关于前端项目中的服务器

问答
Bbigggge发布于 10 年前最后回复 10 年前
253950

可能这是一个小白问题,目前对服务器几乎一无所知,我们平时写简单的项目时可能直接打开一个index.html,里面引用一些css,js就可以在浏览器运行了。

但是当我用angular2写项目的时候,发现我们需要加入node了,我们通过npm安装依赖,这时我们可能会通过npm start来启动诸如lite-server之类的服务器才能运行,无法直接打开index.html来运行了。

我的问题是, 1.有无node对一个前端项目意味着什么? 2.为什么后者必须通过类似liteserver之类的服务器才能运行? 3.它与线上服务器(nginx等)有什么区别和联系?

希望可以详细回答下

查看回复

回复 (2)

O
OneNewLife#210 年前
  1. 有 node 可以大大提升你的开发效率,例如:gulp、webpack 等构建工具
  2. Angular2 不是必须使用 liteserver,你应该看了官网的 hero 教程,他们使用了ng2 自带的 liteserver 来实现热重载(热更新),可以说热更新的功能是现在开发必不可少的。没有 liteserver 你也一样可以通过 node 的 httpServer 来启动应用,只是这样没有热更新的功能
  3. 区别就是:node 是 JavaScript 运行时,虽然你可以写 server,但它始终不是一台正儿八经的服务器,而 NGINX 是一台正儿八经的服务器,你所需要的一些 robust 的服务器特性它都有(负载均衡、增强脚本等)。联系就是,你可以使用 NGINX 来提升你的 node 服务器的性能。
X
xcatliu#110 年前
  1. 这个问题没看懂。node 可以作为工具使用,也可以作为 server 端的语言。
  2. Angular2 没用过,但是应该不是必须用 node 启动的 server 才能运行。其他程序启动的 server 应该也可以,比如 nginx,python 启动的静态资源服务。
  3. node 可以替代 nginx 实现几乎所有的功能。但是 nginx 稳定些,建议用 nginx 转发到 node 程序的端口。

参与回复

登录后即可参与回复。登录