# yarn/npm如何引入本地自建包(实战干货)

原因:因为jenkins是搭建在aws公网上面,自建包是存在内网上面,所以jenkins yan add的时候无法去拉去内网的资源,构建失败。

# 思路

思路:将内网包下载下来,放到代码workspace当中,然后yarn add的时候直接引入本地node modules包

# 步骤1

项目根目录中新增文件夹(mkdir lib),然后将包放到lib目录中档

# 步骤2

package.json中的dependencies,引入的包的地址改成

  "dependencies": {
  "@aws-sdk/client-s3": "^3.44.0",
  "@warren/logger-wrapper": "file:./lib/@warren/logger-wrapper",
  ...
1
2
3
4

# 遇到的问题
# 问题1,项目当中有eslint,会全局代码检查,由于lib包中的有引入其他内外资源所以eslint检查的时候会报错
解决办法:
1. .eslintignore文件中添加lib,使其不检查
1
2

# 注意2项目中存在yarn.lock(如果使用npm,会是package-lock.json)文件,yarn.lock dependencies内网依赖包也会是本地
"@warren/auth@file:./lib/@warren/auth":
  version "4.2.1"
  dependencies:
    "@warren/logger-wrapper" "file:../../../Library/Caches/Yarn/v6/npm-@warren-core-auth-4.2.1-797fe9ad-6fd1-4f42-b606-92772f0b41c9-1644563376351/node_modules/@warren/logger-wrapper"
    jwa "^2.0.0"
    lru-cache "^5.1.1"
    node-forge "^0.10.0"
    p-retry "^4.2.0"
    request-micro "^1.5.1"
1
2
3
4
5
6
7
8
9

# 相关资料

npm如何引入本地自建的包和需要维护的包 (opens new window) eslintignore忽略配置 (opens new window)

全量分析

评 论:

上次更新时间: 2/14/2022, 3:45:10 PM