如何使用bash查看nodejs有什么内置模块
node -p "require('module').builtinModules"
[
'_http_agent', '_http_client', '_http_common',
'_http_incoming', '_http_outgoing', '_http_server',
'_stream_duplex', '_stream_passthrough', '_stream_readable',
'_stream_transform', '_stream_wrap', '_stream_writable',
'_tls_common', '_tls_wrap', 'assert',
'assert/strict', 'async_hooks', 'buffer',
'child_process', 'cluster', 'console',
'constants', 'crypto', 'dgram',
'diagnostics_channel', 'dns', 'dns/promises',
'domain', 'events', 'fs',
'fs/promises', 'http', 'http2',
'https', 'inspector', 'inspector/promises',
'module', 'net', 'os',
'path', 'path/posix', 'path/win32',
'perf_hooks', 'process', 'punycode',
'querystring', 'readline', 'readline/promises',
'repl', 'stream', 'stream/consumers',
'stream/promises', 'stream/web', 'string_decoder',
'sys', 'timers', 'timers/promises',
'tls', 'trace_events', 'tty',
'url', 'util', 'util/types',
'v8', 'vm', 'wasi',
'worker_threads', 'zlib'
]
npm 镜像
npm的配置文件为用户根目录下的:~/.npmrc(Windows路径为:C:\Users\<UserName>\.npmrc)
,您可以点击此处直接下载配置文件,或者运行如下命令设置:
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
npm cache clean -f
华为开源镜像站同时也提供了工具类加速镜像,可以通过如下的命令设置加速地址:
npm config set disturl https://mirrors.huaweicloud.com/nodejs
npm config set sass_binary_site https://mirrors.huaweicloud.com/node-sass
npm config set phantomjs_cdnurl https://mirrors.huaweicloud.com/phantomjs
npm config set chromedriver_cdnurl https://mirrors.huaweicloud.com/chromedriver
npm config set operadriver_cdnurl https://mirrors.huaweicloud.com/operadriver
npm config set electron_mirror https://mirrors.huaweicloud.com/electron/
npm config set python_mirror https://mirrors.huaweicloud.com/python
```
### npm的包依赖一共有多少种周期
npm的包依赖周期一共有5种:
|周期|说明|对应命令|
|--|--|--|
|dependencies|这是最常见的依赖类型,表示包依赖于另一个包来正常工作。|`--save`|
|devDependencies|这是开发依赖类型,表示包依赖于另一个包来进行开发、测试或构建。|`--save-dev`|
|peerDependencies|这是同伴依赖类型,表示包依赖于另一个包的特定版本。|`--save-peer`|
|optionalDependencies|这是可选依赖类型,表示包可以依赖于另一个包,但不强制要求。|`--save-optional`|
|bundledDependencies|这是捆绑依赖类型,表示包将另一个包捆绑在一起发布。|`--save-bundle`|
注意:`--save-prod` 是 `--save` 的别名或更明确的写法,表示“保存为生产依赖”(production dependencies),即安装的包会被记录在 dependencies
### npm init
```bash
npm create vite@latest
npm init vite@latest
npx create-vite@latest
## 以上三个等效
npm 的@scope是什么
在npm中,@scope
是指一个包的作用域或命名空间。它用于标识一个包属于哪个组织或团队。
@scope
通常用于以下情况:
- 组织包:当一个组织或团队创建一个包时,他们可以使用
@scope
来标识这个包属于哪个组织或团队。例如,@google/cloud
表示这个包属于Google Cloud团队。 - 私有包:当一个开发者创建一个私有包时,他们可以使用
@scope
来标识这个包属于哪个组织或团队。例如,@mycompany/mypackage
表示这个包属于mycompany组织。 - 命名空间:
@scope
也可以用于创建一个命名空间,用于组织相关的包。例如,@mycompany/utils
表示这个包属于mycompany组织的utils命名空间。
使用@scope
的好处包括:
- 避免命名冲突:使用
@scope
可以避免包名冲突,因为不同的组织或团队可以使用相同的包名,但具有不同的@scope
。 - 提高包的可发现性:使用
@scope
可以提高包的可发现性,因为开发者可以通过搜索@scope
来找到相关的包。 - 简化包的管理:使用
@scope
可以简化包的管理,因为开发者可以通过@scope
来管理相关的包。
在npm中,@scope
是通过在包名前添加@
符号来指定的。例如,@mycompany/mypackage
表示这个包属于mycompany组织。
以下是npm中@scope
的语法:
npm install @scope/package-name
例如:
npm install @google/cloud
这将安装Google Cloud团队的cloud包。
包管理器 | 管理文件 | 说明 |
---|---|---|
npm | package.json |
定义项目的依赖和元数据 |
package-lock.json |
锁定依赖版本,确保一致性 | |
Yarn | package.json |
与 npm 相同,用于定义项目的依赖和元数据 |
yarn.lock |
锁定依赖版本,确保一致性 | |
pnpm | package.json |
与 npm 和 Yarn 相同 |
pnpm-lock.yaml |
锁定依赖版本 | |
Bower | bower.json |
定义项目的前端依赖 |
Volta | package.json |
与 npm 相同 |
volta.json |
定义项目的 Node.js 版本和工具 | |
Rush | rush.json |
管理大型 monorepo 项目的依赖和构建 |
Lerna | lerna.json |
管理 monorepo 项目的多个包 |
特性 | Tailwind CSS | Sass | Less |
---|---|---|---|
类型 | 工具优先的 CSS 框架 | CSS 预处理器 | CSS 预处理器 |
语法 | 实用类(Utility-first) | 嵌套规则、变量、混合宏 | 嵌套规则、变量、混合宏 |
学习曲线 | 中等,需熟悉类名 | 中等,需学习 Sass 语法 | 中等,需学习 Less 语法 |
主题定制 | 通过配置文件定制 | 通过变量和混合宏定制 | 通过变量和混合宏定制 |
响应式设计 | 内置响应式设计类 | 需手动实现响应式 | 需手动实现响应式 |
生态系统 | 丰富的插件和社区支持 | 广泛的社区支持 | 较小的社区支持 |
生成的 CSS 文件大小 | 较大,需使用 PurgeCSS 减小 | 生成的 CSS 文件较小 | 生成的 CSS 文件较小 |
适用场景 | 快速原型、设计系统 | 复杂项目、需要重用的样式 | 复杂项目、需要重用的样式 |
兼容性 | 兼容所有现代浏览器 | 兼容所有现代浏览器 | 兼容所有现代浏览器 |
开发体验 | 通过类名快速构建 UI | 通过变量和混合宏提高可维护性 | 通过变量和混合宏提高可维护性 |