高校 门户网站 建设背景,周口城乡建设网站,怎么看网站是否备案成功,营销型企业网站建设哪家好文章目录1. 文章引言2. 简述.npmrc3. 配置.npmrc3.1 .npmrc配置文件的优先级3.2 .npmrc设置的命令行3.3 如何设置.npmrc4. 配置发布组件5. npm常用命令6. 重要备注6.1 yarn6.2 scope命名空间6.3 镜像出错1. 文章引言
今天在某低代码平台开发项目时#xff0c;看到如下编译配置…
文章目录1. 文章引言2. 简述.npmrc3. 配置.npmrc3.1 .npmrc配置文件的优先级3.2 .npmrc设置的命令行3.3 如何设置.npmrc4. 配置发布组件5. npm常用命令6. 重要备注6.1 yarn6.2 scope命名空间6.3 镜像出错1. 文章引言
今天在某低代码平台开发项目时看到如下编译配置的弹出框 注意红框中的.npmrc这个词它是什么意思呢以及如何设置.npmrc呢
接下来我便详细解说.npmrc这个词以及如何设置.npmrc。
2. 简述.npmrc
.npmrc可以理解成npm running cnfiguration即npm运行时配置文件。
简单点说.npmrc可以设置package.json中依赖包的安装来源即从哪里下载依赖包。
3. 配置.npmrc
3.1 .npmrc配置文件的优先级
一般情况下我们的电脑中有多个.npmrc文件我们在安装包时npm按照如下顺序读取这些配置文件 项目配置文件: /project/.npmrc 用户配置文件~/.npmrc
我们可以通过如下命令来获取.npmrc用户配置文件路径
npm config get userconfig如果想恢复默认配置只需要将用户配置文件~/.npmrc删除即可。
全局配置文件$PREFIX/etc/npmrc
我们可以通过如下命令来获取.npmrc 全局配置文件路径$PREFIX
npm config get prefix【注意】如果你不曾配置过全局文件该文件不存在。
npm内置配置文件/path/to/npm/npmrc
我们可以通过如下命令获取npmrc在npm的路径
which npm与npm同级别, 使用which npm获取npm的路径。
3.2 .npmrc设置的命令行
在讲解如何设置.npmrc之前我们需要了解设置文件的命令行。
我们一般使用key-value的方式来设置文件如下所示
npm config set key value例如设置仓库信息可以使用下述命令行
npm config set registry https://repo.huaweicloud.com/repository/npm/3.3 如何设置.npmrc
设置项目配置文件
项目下.npmrc文件的优先级最高可以给每个项目配置不同的镜像项目之间的配置互不影响。
在项目的根目录下新建.npmrc文件在里面以keyvalue的格式进行配置。
registryhttps://registry.npm.taobao.org也可以指定特殊的命名空间scope的来源。
比如以testNpmRc开头的包从registryhttps://npm.xx.com这里下载其余全去淘宝镜像下载。
registryhttps://registry.npm.taobao.org/
testNpmRc:registry https://npm.xx.com设置用户配置文件
可以直接通过如下命令
npm config get userconfig找到用户配置文件的路径直接仿照上述方法修改该文件。
当然也可以通过npm config set命令继续设置如下所示
npm config set registry https://registry.npm.taobao.org如果想要删除一些配置可以直接编辑.npmrc文件也可以使用命令进行删除例如
npm config delete registry设置全局配置文件
方法同设置用户配置文件一样只不过在使用命令行时需要加上-g参数如下所示
npm config set registry https://registry.npm.taobao.org -g给npm命令添加注册源选项
比如临时使用淘宝镜像如下所示
npm --registryhttps://registry.npm.taobao.org [npm命令]又比如使用npm安装依赖包如下所示
npm install --registry https://registry.npmjs.org但不推荐用这种做法更推荐设置项目配置文件.npmrc。
4. 配置发布组件
npm配置组件发布的方式有如下两种 通过配置packege.json实现 通过配置文件.npmrc实现
package.json配置方式
# aa是组件的scope。
# scope在模块名name中使用时以开头后边跟一个/
{name: aa/xxx, // 发布npm包的名字version: 1.0.0, // 你的npm包版本description: xxxx, // 包的描述main: dist/btn.js, // 指定组件的主入口文件publishConfig: {registry: 要发布的私有仓库地址然后在.npmrc配置用户名密码}......
}.npmrc配置方式
# package.json不做任何仓库的配置:
{name: aa/xxx, // 发布npm包的名字version: 1.0.0, // 你的npm包版本description: xxxx, // 包的描述main: dist/btn.js, // 指定组件的主入口文件......
}# .npmrc配置仓库地址和用户名密码
aa:registry私仓地址配置好仓库信息后执行如下发布命令即可将打包好的组件发布到仓库中
npm publish5. npm常用命令
npm config set key value [-g|--global] //给配置参数key设置值为value
npm config get key //获取配置参数key的值
npm config delete key [-g|--global] //删除置参数key及其值
npm config list [-l] //显示npm的所有配置参数的信息
npm config edit //编辑用户配置文件
npm get key //获取配置参数 key 生效的值
npm set key value [-g|--global] //给配置参数key设置值为value6. 重要备注
6.1 yarn
yarn会读取.npmrc的配置文件所以不必为yarn再设置一次。
6.2 scope命名空间
上文提到的指定特殊的命名空间scope的来源如下代码所示
aa:registryhttps://repo.huaweicloud.com/repository/npm/其中aa是组件的scopescope在模块名name中使用时以开头比如
# 在package.json的dependencies标签中加上即可使用。
dependencies: {test/mypackage: ^1.3.0
}6.3 镜像出错
.npmrc文件配置了私有包registry源但是当前的下载源是淘宝镜像可能会报如下错误
error Command failed with exit code 1可以将当前的下载源改成私有包registry源如果改了之后还报错可以尝试将lock文件或者node_modules文件删掉重新开始下载。