Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

NodeJS包管理工具

2021/12/08 前端
Word count: 988 | Reading time: 4min

包管理工具

  • npm
    • npm install <package_name> --dev
    • npm init然后根据交互信息创建工程
    • npm install 根据目录下package.json安装依赖
    • npm run dev执行package.json中定义的scripts.dev指令
  • yarn
    • yarn add <package_name> --dev
    • yarn init然后根据交互信息创建工程
    • yarn 根据目录下package.json安装依赖
    • yarn run dev执行package.json中定义的scripts.dev指令

共同点

  • 两个在init创建好后,都会生成一个配置文件package.json
  • 安装依赖后都会生成依赖管理文件夹:node_module/

不同点:安装依赖后,npm生成的依赖管理文件为package-lock.json;yarn的为package.lock

npm参数区别

  • npm install moduleName 命令
  1. 安装模块到项目node_modules目录下。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。
  • npm install -g moduleName 命令
  1. 安装模块到全局,不会在项目node_modules目录中保存模块包。
  2. 不会将模块依赖写入devDependencies或dependencies 节点。
  3. 运行 npm install 初始化项目时不会下载模块。
  • npm install --save moduleName 命令
  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入dependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中。
  • npm install --save-dev moduleName 命令
  1. 安装模块到项目node_modules目录下。
  2. 会将模块依赖写入devDependencies 节点。
  3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
  4. 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

注: npm install packageName --saveyarn add packageName --dev

npm 与 yarn 命令比较:

NPM YARN 说明
npm init yarn init 初始化某个项目
npm install / link yarn install/link 默认的安装依赖操作
npm install taco --save yarn add taco 安装某个依赖,并且默认保存到package
npm uninstall taco --save yarn remove taco 移除某个依赖项目
npm install taco --save-dev yarn add taco --dev 安装某个开发时依赖项目
npm update taco --save yarn upgrade taco 更新某个依赖项目
npm install taco --global yarn global add taco 安装某个全局依赖项目
npm publish/login/logout yarn publish/login/logout 发布/登录/登出,一系列NPM Registry操作
npm run/test yarn run/test 运行某个命令

Vue中public和assets文件夹

两者都是vue-cli3.0的放置静态资源的目录。

public处于工程根目录下;assets处于根目录src下,即src/assets

  • public放不会改动的文件,这里面的内容可以使引用的,不是由自己编写的内容(即第三方的)。基本不会改动的内容(参考vue-cli2.x中的static)

  • public/ 目录下的文件并不会被Webpack处理,它们会直接被复制到最终的打包目录(默认是dist/static)下,所以必须使用绝对路径引用这些文件。当然这个取决于你vue.config.js中publicPath的配置,默认的是/,(你可以自己去vue.config.js 中修改你的publicPath配置,建议不要修改。)

  • assets放可能会变动的文件(自己的静态文件js、png,自己写的js文件等等可能需要改动的文件)

  • assets目录中的文件会被webpack处理解析为模块依赖,只支持相对路径形式。

nodejs版本管理工具——nvm

https://github.com/nvm-sh/nvm#installing-and-updating

1
2
3
4
5
6
# Step1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# or
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Step2
~/.bashrc

如果下载不下来,可以在windows上用dev-sidecar访问网页,然后ctrl+s保存发给服务器,再./install.sh运行,把仓库clone到~/.nvm

1
2
3
4
5
6
7
2082  2021-12-08 00:05:30 nvm list
2085 2021-12-08 00:06:36 nvm ls-remote
# 安装最新的LTS版本Nodejs
2086 2021-12-08 00:07:13 nvm install --lts
$ node -v
$ nvm current
$ npm -v

[nvm命令及解释](

Author: Mrli

Link: https://nymrli.top/2021/12/08/NodeJS包管理工具/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
创建Vue工程(包含Vue2和Vue3)
NextPost >
Js-ShortCode
CATALOG
  1. 1. 包管理工具
  2. 2. npm参数区别
  3. 3. Vue中public和assets文件夹
  4. 4. nodejs版本管理工具——nvm