Невозможно объявить глобальный тип переменной для использования в файлах JS для оценки виртуальной машины.

У нас есть скрипты, которые оцениваются в вызове виртуальной машины JS на узле, который объявляет несколько контекстных глобальных переменных, как в коде ниже. Вопрос в том, во время разработки, когда разработчик работает над some-script.js, как мы можем заставить VSCode предоставлять информацию автору этого файла, когда на него ссылаются?

Сам проект поддерживает как TS, так и JS, но скрипты должны быть написаны на JS по несвязанным причинам. Есть ли какой-то заголовок комментария, который можно поместить в каждый файл сценария вверху, который даст VSCode достаточно подсказки, чтобы он мог понять, что aGlobalThing переменная уже существует с IVmGlobalsввести информацию? Определение типа, глобальный комментарий, какая-то комбинация со встроенным, но обернутым комментариями импортом?

      // code-runner.ts

export interface IVmGlobals {
  aGlobalThing: {
    a: number;
    b: string;
  };
};

export async function runCode(codeSnippet) {
  const context = vm.createContext({
    aGlobalThing: { a: 123, b: 'xyz', },
  } as IVmGlobals);

  await vm.runInContext(codeSnippet, context);
}
      // some-script.js

// will assign 123, but how can a developer get
// intellisense while writing this file that indicates
// the presence of aGlobalThing as existing, and having
// a member called `a` that holds number?
const a = aGlobalThing.a;

//... more code, etc.

0 ответов

Другие вопросы по тегам