[英]No "exports" main defined in Node module's package.json
[英]Is there a way to get the extension's settings (defined in package.json) at runtime?
在Visual Studio代碼擴展中,有沒有辦法在運行時獲取擴展的設置(在package.json中定義)? 我想得到一些值(如displayName)。
Visual Studio代碼擴展是用JavaScript編寫的,與標准Node腳本沒有區別,因此一般來說,您可以使用fs.readFile
讀取擴展清單,使用JSON.parse
讀取其值。
根據您的使用情況,可能有更簡單的選項。
要閱讀您自己的擴展名的package.json
,您只需使用require()
例:
// lib/extension.js
const meta = require('../package.json')
與import
,至少在使用TypeScript時也是如此。
示例 :
// src/extension.ts
import * as meta from '../package.json'
確保為JSON文件添加類型聲明
// src/index.d.ts
declare module '*.json' {
const value: any;
export default value;
}
最后但並非最不重要的是,您可以通過編程方式讀取任何擴展名的package.json
。 使用諸如vscode-read-manifest之類的Node包, read-pkg (或read-pkg-up )可以輕松實現。
例:
const readManifest = require('vscode-read-manifest');
// Async
(async () => {
let manifest = await readManifest('ms-python.python');
})();
// Sync
let manifest = readManifest.sync('ms-python.python');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.