在文件components.ts中,我在方法checkVersionFile()内有一个变量newVersion。 现在在另一个文件(version.ts)中,我想在另一个方法中
检索此变量。文件:components.ts
public checkVersionFile(): any {
const contentVersion = fs.readFileSync(this.tmpDir + "/components/Version", 'utf8')
if(contentVersion.endsWith('-SNAPSHOT')){
let match = /^(\d+)\.(\d+)\.(\d+)-(\d+)-(SNAPSHOT)$/.exec(contentVersion);
const newVersion = (parseInt(match[1])) + '.' + (parseInt(match[2])) + '.' + (parseInt(match[3])) + '-' + (parseInt(match[4]));
logger.info("Version: "+newVersion);
}
else {
logger.error("error");
}
}
文件version.ts
public async retrieveVersion(): {
let searchVersionsUri = config.jiraApiUri + 'project/versions';
const jsonResp = await this.jiraClient.get(searchVersionsUri);
const version: any = jsonResp.find(version => {
return version.name == newVersion // here want retrieve variable
});
return new ReleaseVersion(version.id, version.name, version.released);
}
答案 0 :(得分:0)
这实际上取决于您的编译设置。如果将所有.ts
文件编译为一个.js
文件,则该文件应该已经可以使用。还是要使用模块?
TSCONFIG.JSON
{
"compilerOptions": {
"outFile": "docs/js/main.js"
},
"include": [
"dev/**/*"
]
}
答案 1 :(得分:0)
我认为您不能直接 export
在函数内部的变量。相反,您可以使函数checkVersionFile
返回newVersion
的值和export
方法,然后返回import
。在version.ts
中,使用checkVersionFile()
可以得到newVersion
的值。
希望对您有所帮助。