问题描述
const { execFile } = require('child_process');
const umlgen = execFile(binpath,args,{ cwd: workingPath });
umlgen.stdout.on('data',(data: Uint8Array) => {
console.log(`stdout: ${data}`);
});
let errMessage: string = "";
umlgen.stderr.on('data',(data: Uint8Array) => {
console.error(`stderr: ${data}`);
});
umlgen.on('close',(code: number) => {
console.log(`close: ${code}`);
});
我使用child_process在工作场所中运行二进制程序。调试程序时可以找到该路径,但是打包后找不到该路径。
.
├── CHANGELOG.md
├── README.md
├── node_modules
├── out
├── package-lock.json
├── package.json
├── src
├── tsconfig.json
├── umlgen
└── vsc-extension-quickstart.md
umlgen是二进制程序。 src是vscode扩展的代码。
解决方法
const extensionId = 'publisher.name';
const extension = vscode.extensions.getExtension(extensionId);
发布后获取src路径