2.0.7 • Published 2 years ago

tnpm-bridge v2.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

背景

腾讯内网的 npm 源站,外部同学无法访问。 在项目架构使用了一些内网包的情况下,合作的外部服务商同学无法使用 npm 进行包的下载安装,造成协作困难。

tnpm-bridge 使用方式

1、新建 script 命令

  "scripts": {
    "inner-install": "npm install tnpm-bridge -D && node ./tools/innerInstall.js",
    "outer-install": "npm install tnpm-bridge -D && node ./tools/outerInstall.js",
  }

2、新建 node 文件

假设,我们将新文件创建在 tools 文件夹下。

tools/innerInstall.js

const path = require('path');
const { tnpmInstall } = require('tnpm-bridge');

// 内网包安装路径(node_modules下)
const sourceFolderPath = path.resolve(
  __dirname,
  '../../../node_modules/@tencent',
);
// 期望复制到的 src 目录路径(根据你的项目实际情况填写)
const destFolderPath = path.resolve(__dirname, '../lib/@tencent');

// 调用 tnpm-bridge 提供的 tnpmInstall 方法。内部同学可一键完成所有 npm 包安装 + tnpm 包的 src 同步
tnpmInstall(sourceFolderPath, destFolderPath);

tools/outerInstall.js

const path = require('path');
const { npmInstall } = require('tnpm-bridge');

// 内网包所在的 src 目录路径(根据你的项目实际情况填写)
const sourceFolderPath = path.resolve(__dirname, '../lib/@tencent');
// node_modules 的路径
const destFolderPath = path.resolve(
  __dirname,
  '../../../node_modules/@tencent',
);

// 当前项目的 package.json 路径
const pkgPath = path.resolve(__dirname, '../../../package.json');
// 当前项目的 package.json
const pkg = require(pkgPath);

// 调用 tnpm-bridge 提供的 npmInstall 方法。外部同学可一键完成所有 npm 包安装 + src 下 tnpm 包同步到 node_modules
npmInstall(sourceFolderPath, destFolderPath, pkg, pkgPath);

3、开始使用

1)内部同学

clone 项目后,使用

npm run inner-install

yarn inner-install

进行 npm 包安装。

2)外部同学

clone 项目后,使用

npm run outer-install

yarn outer-install

进行 npm 包安装。

注意

当前解决方案,要求内外部同学严格按照上述步骤进行操作,不再单独使用 npm install 或 yarn 的方式,进行包安装。

方案思路

内部同学

在内网环境下,下载 @tencent/* 内网包。 下载到 node_modules 后,将内网包同步到项目 src 目录下。

外部服务商同学

在外网环境下,使用 git 拉取回 src 下的内网包,再将内网包复制到 node_modules 下。

注意点

1、内部同学将内网包同步到 src 下后,编译打包时,注意合理处理 src 下的内网包。特别对于小程序,注意不要将 src 下的内网包复制到小程序发布包中,导致包体积过大。

2、外部同学不可再使用 npm install 或 yarn 的方式,进行包安装,因为 package.json 中含有腾讯内网包声明,直接安装会报错。

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

1.0.10

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago