mac上怎么运行node.js文件_全栈学习系列:Nodejs入门指南

1e67ecc74f0eab678c5d9822aa4afb03.png

笔者主要从事Java开发,在刚学习web开发的时候,只见过html+css+js的开发模式。后来,当我第一次接触到nodejs相关的前端项目时,简直就有点怀疑人生的感觉。而nodejs的开发 模式一度让我困惑了好一段时间,在看了相当多的资料、课程、以及实践项目后,才算对nodejs有了一个总体的认识。

本文旨在记录当初的一些比较让人困惑的问题,希望对新入坑的朋友一些启发。


Nodejs是什么?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

这是来自于Node.js官网的一段描述。坦白说,刚接触的时候我没看懂。当时没理解,有一部分原因是我对JavaScript的认知有误区。

JavaScript作为一门编程语言,并不是只有浏览器才能使用的。而浏览器之所以可以解析JavaScript是因为浏览器的内核内嵌了一个JavaScript运行环境。正如Java依赖于JVM这个运行环境来运行Java代码一样,只要有JavaScript的运行环境,就能运行JavaScript代码。而Node.js就是这么一个JavaScript运行环境。

因此,一个基于Nodejs的项目既可以用来写客户端程序,也可以用来写服务端程序。

Nodejs的客户端项目的目录结构长什么样?

在传统的html+css+js客户端开发模式下,我们一般会看到下图这样的目录结构

8273d19ce623f5551021571a2c9842d7.png

在传统项目中,我们对于一个页面的理解就是基于一个物理存在的html文件。

而在Nodejs的开发模式下,一个项目的目录结构通常是如下图这样的

dbc3db8f30fba2c5a4cfd45f384320cb.png
  • 有一个html文件入口
  • 至少有一个js文件被入口html所引用
  • 有一个package.json文件用来生成依赖项
  • 有一个node_modules文件夹存放依赖项

上图是来自于github的一个最简单的聊天室页面应用案例https://github.com/socketio/chat-example

8e7367e2e9fe72b2c16ef13aaa524612.png
来源:https://github.com/socketio/chat-example

从github截图可见,在github上的文件要比刚才的截图的文件与文件夹数量更少。这也是让初学者无比困惑的地方:
所有的Nodejs项目拉到本地后,并不像传统开发模式那样直接用浏览器访问html文件就能访问。而是要

  • 先在本地电脑安装Nodejs环境,
  • 然后在项目目录下先运行npm install 安装项目依赖,
  • 再通过npm start启动Nodejs服务端,
  • 最后通过浏览器来访问Nodejs的服务

从而实现对页面的访问。

在Nodejs的开发模式下,由于引入了js模块化管理的概念,同时也引入了“打包”的概念,因此一个真实的客户端项目往往是以一个SPA(单页应用)的形式存在,目录结构大致如下图

0815340d38f5a7f5d5b3a54e3770d995.png

Nodejs的服务端项目的目录结构长什么样?

我们以github上著名的http://socket.io项目为例:https://github.com/socketio/socket.io

把项目clone到本地后,按项目说明安装依赖后,我们就可以看到一个简单的项目结构了。

e39befdaab1fc9cd19d00b1c0b14cdaf.png
来源:https://github.com/socketio/socket.io/tree/master/examples/chat

总体而言,理解了Nodejs客户端项目的目录结构,再理解服务端的目录结构就是小菜一碟了。

相关的文档在哪里查阅?

在学习js编程的过程中,让人最郁闷的莫过于查看js的对象有哪些方法了。

经过长时间的摸索,关于JS的API文档可以总结为三大类:

客户端开发的API参考文档

JavaScript​developer.mozilla.org
fea52a1bfd9b01c1e0c0ce355c44921e.png

服务端开发的API参考文档

API 文档 | Node.js 中文网​nodejs.cn

第三方类库的API参考文档,参考类库官网,例如http://socket.io

Socket.IO — Server API​socket.io
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值