首页 >> 大全

【node.js】看这一篇就够了!标准node项目文件和项目执行过程简要分析

2023-12-09 大全 24 作者:考证青年

写在前面:大家好K。首先为你点进这篇有趣的文章点赞!文章在撰写过程中难免有疏漏和错误,欢迎你在下方留言指出文章的不足之处;如果觉得这篇文章对你有用,也欢迎你点赞和留下你的评论。更多内容请点进我的博客K。阅览。

文章目录 2. 项目执行过程简要分析

1. node项目原始目录结构

.
├── XXX.js
├── node_modules
│   ├── express
│   │   └── XXX.XX
│   └── XXX
│       └── XXX.XX
├── package-lock.json
└── package.json

一个标准的node项目有这几个部分:

XXX.js源代码文件:开发者主要写的代码文件;

模块目录:里面存放了当前项目使用的模块文件;

.json项目配置文件:里面存放了项目的基本信息和配置信息;

-lock.json模块记忆文件:里面存放了所需要的模块包括依赖模块的详细信息,在二次安装时按照该此文件中所指版本和下载路径下载安装。

模块目录中个模块的结构和当前目录结构相同,因为每个模块都是一个node项目

1.1 .json文件

使用npm init在空文件夹中即可创建该文件,此文件夹即为node项目根目录

文件内容示例:

{"name": "test","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo 'Hello, world'"},"author": "","license": "ISC","dependencies": {"express": "^4.17.1"}
}

里面有项目名称、版本号、描述、作者、遵循的协议类型等,这些字段为基本信息。

协议的文件,如果有,则放在项目根目录中。

main字段

项目实施标准化流程_项目执行过程包括哪些内容_

该键的值就是整个项目的起始文件名,整个项目从该文件启动。类似于html文件中的index.html。

字段

阮一峰博客详细说明

因为是json文件,所以两边的键和值都用双引号包含(这里键名和值都是字符串)。

这些定义在.json里面的脚本,就称为 npm 脚本,当在命令行输入npm 键名时,就会执行值的shell命令,如上示例:

# 输入
npm run test
# 实际执行的是test键对应的值
echo 'Hello, world'
# 所以输出 Hello, world

当然值是shell命令,所以shell中所有操作都可以写在这里,如各种文件操作、服务操作等。且每次执行脚本,npm是新建子shell在里面执行,几乎不影响当前shell。

"start": "node ."

之后可以通过npm start启动项目。还有npm start、npm stop、npm 。

"preprint": "echo 'pre'",
"print": "echo 'ok'",
"postprint": "echo 'post'"

执行npm run print时会依次执行echo 'pre'、echo 'ok'和echo 'post'

"test": "echo $npm_package_main"

则执行npm run test时,会输出index.js。

若想访问键中的键(嵌套),则继续用下划线_连接,如的值为^4.17.1

字段

这里只放了用到的第三方模块名和版本号,相对-lock.json文件中的更简略。并未存放该模块所依赖的其他模块的信息。

项目执行过程包括哪些内容_项目实施标准化流程_

格式为:

"模块名": "支持版本号"

支持版本号有三种表示,如:

"~x.y.z",表示固定x,y两个号码值,不低于z的版本。例~1.2.3表示,只能安装高于1.2.3(含)低于1.3.0(不含)的版本;

^x,y,x,表示固定x值,不低于y.z的版本。例^1.2.3表示,只能安装高于1.2.3(含)低于2.0.0(不含)的版本;

:安装最新版本。

1.2 -lock.json文件

使用npm安装时加上-S或--save来自动创建、写入该文件。(新版的npm可不手动加此选项,默认自动保存)

例如第一次安装模块是使用命令npm -S 。因为也有它自己的依赖,它的依赖又会有其他依赖(子子孙孙无穷尽也)。此时-lock.json就会保存所有这些依赖的信息,如版本号、下载地址、校验码等。

优点:

固定版本号。如果不保存,当二次安装模块时,别的依赖包可能会更新,所以目的之一是固定依赖模块的版本号,减少版本引起的错误。

固定下载地址。第一次安装时是一层一层找依赖(依赖包的依赖包,子子孙孙无穷尽也)找下去安装的。这时找依赖的过程就会消耗大量的时间,该json文件保存了每个依赖包的下载地址,这样就能直接找到地址下载,提高了模块的安装速度。

2. 项目执行过程简要分析

主要分成两大部分三大步骤,前两步骤为项目的预操作,下载安装各模块和执行启动脚本。之后才是项目的主要部分。下面是简要过程:

当拿到一个node项目时,第一步先执行npm 安装需要的模块,此时就需要读取.json和-lock.json里的内容,-lock.json中存放了各依赖模块的下载地址信息和版本信息,可以帮助提高安装模块速度。

运行npm start启动项目,启动脚本的具体内容放在.json的字段中,然后重点读取.json中的main字段信息,这里存放了项目起始的js脚本,整个项目从该文件开始执行。

项目各模块(node中每个文件即为一个模块)之间通过、等关键字以及共享数据进行沟通交互。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了