Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nodeStudy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
马旭烽
nodeStudy
Commits
06b5aa7a
Commit
06b5aa7a
authored
Jun 30, 2023
by
fireMan-34
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
📃
docs: node 第三次相遇文档优化1
parent
ce88625e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
4 deletions
+25
-4
node模块化.md
3/node模块化.md
+25
-4
No files found.
3/node模块化.md
View file @
06b5aa7a
# nod
eJs 模块化是什么呢。
# nod
eJs 模块化是什么呢。
# nodeJs 模块化是什么呢。
1.
nodeJs 模块化是 nodeJs 提供的一种集成代码逻辑的能力。使得我们使用 node 执行脚本的时候可以把代码逻辑分散到各个文件,也可以获得 nodeJs api 的能力。
2.
nodeJs 最初的模块是 CommonJs 规范,就是今天的主角 node 16.不得不说,node 迭代非常的快,目前已经默认使用 es 规范了。不同规范的包也导致了模块🌹解析之前的冲突。比方说 commonJs 规范的入口引入了 es 规范会导致 node 执行爆模块错误,通常来说会有个波浪线强调 import 的字段。通常来说确定模块化规范会根据 package 的 字段 、 如果是 ts 的 还有 tsconfig 字段来确定模块化规范。 node 执行的时候会依据当前目录最近的上一级的 package 文件,来确定模块化规范,如果没有的话,就是走 node 默认的模块化规范解析逻辑。
2.
nodeJs 最初的模块是 CommonJs 规范,就是今天的主角 node 16, node 16 版本默认的是 commonJs 规范。
不得不说,node 迭代非常的快,目前已经默认使用 es 规范了。
不同规范的包同时引入也导致了模块🌹解析之前的冲突。比方说 commonJs 规范的入口引入了 es 规范的模块会导致 node 执行爆模块错误,通常来说会有个波浪线强调 import 的字段。通常来说确定模块化规范会根据 package 的 字段 、 如果是 ts 的 还有 tsconfig 字段来确定模块化规范。
、node 执行的时候会依据当前目录最近的上一级的 package 文件,来确定模块化规范,如果没有的话,就是走 node 默认的模块化规范解析逻辑。
3.
说了这么多,让我们看看 CommonJs 的模块化规范吧
导入模块
```
javascript
...
...
@@ -36,4 +39,23 @@ module.exports = {
4.
记住由于现在模块规范在过度,往往市面上的 npm 包有可能是 es 规范,导致我们的 cjs 规范解析异常,所以可以尝试降级版本,每一次降级一个一个大版本。
如果是模块的模块版本异常,可以尝试手动修改包依赖版本,或者找更适合的包。(建议的话,还是找替代品或者看一下 issue 是否有解决方案)
5.
如果文件创建成功了,我们就进如下一个实操。
\ No newline at end of file
5.
代码从 index.js 手动搬到 index.js 加深一些 api 的理解
6.
在看一下当前文件夹下 package.json , script 字段,这里有两条命令, 一条是 "start" ,另一条是 “start:my”, 都是用 包管理器去启动 node 程序去执行一个脚本文件,所以我们可以用文字描述
```
bash
node
[
文件路径]
(
参数1
)
(
参数2
)
...
```
然后,我们可以将鼠标悬浮在上面,会出现两个文字,如果是英文的是 run/debug ,如果是中文则是 运行/调试。
这一节,我们了解运行这一个就好了,后面有机会话会挑个章节讲讲。点击后,vscode 就会自动调用对应脚本命令,这是我们学到的第二种 node 脚本启动方式
7.
如果文件创建成功了,我们就进如下一个实操。
8.
这一节主要分享了几个知识点
1.
模块化 是什么 ?
2.
引入不同入口的模块化规范的话,会导致解析异常。
3.
什么是 CommonJs 规范
4.
CommonJs 模块 智能提示的办法
5.
四个路径常量(相对于执行的时候)
6.
导入导出的简单使用
7.
第二种执行 node 脚本的方法。(第一种就是之前的 shell 执行)
8.
面对当前 es 模块规范盛行的 node npm 包 ,我们要使用 commonJs 规范的时候要如何解决。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment