Если я правильно понимаю ваше намерение , вы хотели бы импортировать функции из файла в глобальное пространство имен , не назначая их промежуточной переменной.Вот простой способ сделать это в узле.
helperFunctions.js
(function(){
// Assign the function to the scope from where it's called
this.existsText = (string) => {
console.log("Do stuff with " + string);
}
})()
Затем, когда вам это требуется в скрипте node.js / puppeteer, он выполняется сразуприсвоение функций из него глобальной области действия:
require("./helperFunctions");
existsText("global scope");
Результат:
Выполнение операций с глобальной областью действия
Bonus : использование тех же функций в page.evaluate
При необходимости можно использовать тот же вспомогательный файл в области видимости браузера:
await page.evaluateOnNewDocument(fs.readFileSync('./helperFunctions.js', 'utf8'));
await page.evaluate(() => {
existsText("browser scope");
});
Выполнять операции в области видимости браузера