【upload-tools】发布一个 TypeScript 编写的 npm 包 (自动执行yarn build 然后上传至服务器指定目录)
// 定义包的入口文件,例如 index.ts
import { execSync } from 'child_process';
import { existsSync } } from 'fs';
import { resolve } from 'path';
function publishPackage(packageDir: string) {
const packagePath = resolve(packageDir);
if (!existsSync(packagePath)) {
throw new Error(`指定的包目录不存在: ${packagePath}`);
}
console.log('执行 yarn build...');
execSync('yarn build', { stdio: 'inherit', cwd: packagePath });
console.log('开始发布包...');
execSync('npm publish', { stdio: 'inherit', cwd: packagePath });
console.log('发布成功!');
}
// 使用方式
publishPackage('path/to/your/package');
这段代码定义了一个简单的函数 publishPackage
,它接受一个包目录的路径作为参数,然后检查该目录是否存在。如果存在,它会执行 yarn build
来构建包,并且在构建成功后执行 npm publish
来发布包。这个过程中,使用了 stdio: 'inherit'
来保留子进程的输出,使得控制台的输出和交互更加直观。
评论已关闭