关于项目运行环境 | 青训营笔记

143 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

提前说明一下,此部分内容更偏向实践理解,很多概念可能模糊不清,更详细的讲解可以查阅相应的文档,后面课程应该也会涉及到。

做大项目,永远绕不开的就是了解nodejs,虽然有了nextjs框架之类的让我们不需要直接接触nodejs,但简单地看看还是需要的。这里是从一个完全使用的角度来看待和安装相关工具的文章。

Node.js是什么

Run JavaScript Everywhere. (nodejs.dev)

是这个

image.png

它是个基于Chrome V8引擎的javascipt运行时环境,使得在服务端能够使用javascript。就像官网描述的,有了它可以在任何地方使用js写东西,一份代码可以支持更多环境。总而言之,得用上它……

nvm是什么

nvm文档手册 - nvm是一个nodejs的版本管理工具 (uihtm.com)

它是一个node版本管理工具,用相当简单的命令来控制node版本,相当简便。node虽然强大,但它经常会进行更新,这导致很多奇奇怪怪的版本问题出现,很多时候报错也不知道是咋回事。

npm、pnpm是什么

An introduction to the NPM package manager (nodejs.dev)

项目初衷 | pnpm

npm是个包管理工具,能够下载并管理大量外部的包。打个比方,农民伯伯们各家都种了不同的蔬菜什么的,互相都需要交换来做饭,但这样很麻烦。有了农贸市场后这个问题就好多了,大家可以互相购买各家蔬菜。nodejs就是这样搞的,node的用户们开发了很多好用的小工具,统一交给node管理,使用npm来下载安装别的工具或发布自己的工具。

pnpm是个更好的包管理工具,用法直接替换npm。通过对node_modules的设计使需要维护的文件更少,这样对于大型项目尤其是使用了monorepo的仓库管理起来运行速度会很快。

安装与使用

由于某种原因,国内下载速度会很慢,但可以将镜像源改成国内源来加快速度(科学上网当作没看见就好),由于使用的命名行工具可能有很多,这里给出使用zsh的例子,其它命令行也可以进行参考

vim ~/.zshrc
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
source ~/.zshrc

// 安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | zsh
source ~/.zshrc

// 安装nodejs
nvm install 版本号
nvm use 版本号

// 切换到淘宝镜像源
npm --registry https://registry.npmmirror.com/ install -g nrm
nrm use taobao

// 安装pnpm
npm install -g pnpm@版本号
// 测试pnpm是否安装成功
pnpm -v

nvm安装过程网上教程也很多,此处仅供参考。总而言之,下好nvm剩下就没什么事了。