npm
基础知识
版本号命名
1.2.3-alive-amy-test-111
1: 主版本号-major —— 做了不兼容的修改(具有破坏性,升级需要特别注意)
2: 次版本号-minor —— 做了向下兼容的 feature
3:修订号-patch —— 做了向下兼容的 bug fix(以及一些小 feature)
alive-amy-test-111: 先行版本号 [0-9A-Za-z-]。 一般有 alpha(不稳定),beta(基本稳定,苹果不是经常出一些 beta 版本让用户先行【测试 bug(不是)】体验,rc(基本算是正式版了),release(正式版)
版本号前的小符号
- 【~】: 允许安装和更新到相同主要和次要版本的新版本。它只允许进行修补版本的升级,而不会升级到下一个次要版本。例如,"~1.2.3" 可以匹配 1.2.3、1.2.4,但不包括 1.3.0。
- 【^】: 允许安装更高的次要和修补版本,但不允许升级到下一个主要版本。例如,"^1.2.3" 可以匹配 1.2.3、1.2.4、1.3.0 等版本。
- 【*】:允许匹配任何版本。它表示无限制地接受任何新版本。这意味着在更新依赖时将获取最新可用的版本。但是要注意,使用该符号可能导致不可预测的行为和潜在的兼容性问题。
常见问题
node sass 的安装
windows 版本,低版本的 node,安装起 node-sass 真的是…… 一言难尽,有些公司内网场景下,你又没法把重设整个镜像源。 解决方案有三种
1. 设置.yarnrc 或者.npmrc
具体要哪个文件看你用什么指令
.yarnrc
sass_binary_site="https://npm.taobao.org/mirrors/node-sass"
2. 修改安装的镜像源,其实和第一个的作用差不多,就看自己的使用场景了。
yarn config set sass-binary-site http://npm.taobao.org/mirrors/node-sass
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
npm install -g node-gyp
3. 确认一下 node & node saas 版本匹配
NodeJS | Supported node-sass version | Node Module |
---|---|---|
Node 20 | 9.0+ | 115 |
Node 19 | 8.0+ | 111 |
Node 18 | 8.0+ | 108 |
Node 17 | 7.0+, <8.0 | 102 |
Node 16 | 6.0+ | 93 |
Node 15 | 5.0+, <7.0 | 88 |
Node 14 | 4.14+, <9.0 | 83 |
Node 13 | 4.13+, <5.0 | 79 |
Node 12 | 4.12+, <8.0 | 72 |
Node 11 | 4.10+, <5.0 | 67 |
Node 10 | 4.9+, <6.0 | 64 |
Node 8 | 4.5.3+, <5.0 | 57 |
Node <8 | <5.0 | <57 |
3. resolutions 统一版本
❤❤❤: 如果项目没什么特别的坑的话,我自己最喜欢用这种方式来解决
因为 node-sass 其实现在已经不用了,改用 sass 来替代。所以我们在同一版本的时候,也可以直接使用 sass 来替代。
方法:
- 安装
sass
=>yarn add sass -D
- 安装
- resolutions 配置
package.json
"resolutions": {
"node-sass": file:./dependency-package/node-sass"
}
- 创建与 package.json 同级的 folder&file: dependency-package/node-sass/index.js
dependency-package/node-sass/index.js
module.exports = require('sass');