Можно ли возвращать значение `Load` Hook в крючках настройки модуля Node.js быть переданы в следующий крючок?Javascript

Форум по Javascript
Ответить
Anonymous
 Можно ли возвращать значение `Load` Hook в крючках настройки модуля Node.js быть переданы в следующий крючок?

Сообщение Anonymous »

В разделе цепочек документации node.js упоминается, что зарегистрированные крючки будут формировать цепочки. />

Код: Выделить всё

"./my-hook.mjs 'load'" did not call the next hook in its chain and did not explicitly signal a short circuit. If this is intentional, include `shortCircuit: true` in the hook's return.
Если я вызову функцию NextLoad , ее параметры также, похоже, не позволяют передавать обработанный результат моего крючка; Параметр может передать только URL, но обработанный результат моего крючка находится в памяти.

Код: Выделить всё

// my-hook.mjs
export async function load(url, context, nextLoad) {
if (url.endsWith(".js")) {
let source = await readFile(fileURLToPath(url), "utf-8");
source = source.replace("hello", "123");
return {
source: source,
shortCircuit: true, // cannot be false
format: "module",
};
}
return nextLoad(url);
}
< /code>
// register-hooks.mjs
import { register } from "node:module";
register("./my-hook.mjs", import.meta.url);
< /code>
node --import ./register-hooks.mjs a.js
Контекст:
Я хочу добавить новый синтаксис в типографию.
Моя идея - написать нагрузку крючок, который обрабатывает .ts files и конвертирует мой синтаксис в стандартный Typescript Syntax. Затем я бы передал конвертированный код TSX .
нравится это: node-import my-hook-import tsx a.ts
Это возможно? Если нет, не могли бы вы порекомендовать другие методы?

Подробнее здесь: https://stackoverflow.com/questions/797 ... tion-hooks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»