@vigaset12

Почему Uncaught ReferenceError: require is not defined?

Есть index.html. Подключается к нему js файл.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
    <title>Document</title>
</head>
<body>
    <h1 class="title">Title</h1>

    <form action="#">
        <input id="input" type="text" placeholder=".......">
        <button id="btn">Поиск</button>
    </form>

    <ul id="list">
    </ul>

    <script src="render.js"></script>
</body>
</html>


С этим все хорошо. Ну в render.js, эта строка кода выдает ошибку: Uncaught ReferenceError: require is not defined. Почему??
const puppeteer = require('puppeteer'); /*Не только с puppeteer так, вообще со всем*/


Я запускаю программу через консоль, не в браузере. В package.json содержится следующие:
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "interface.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "puppeteer": "^14.4.0",
  }
}
  • Вопрос задан
  • 1044 просмотра
Пригласить эксперта
Ответы на вопрос 1
black1277
@black1277
Вольный стрелок
Начиная, не помню с какой версии разработчики электрон отключили поддержку возможностей Node в фронтед части скриптов по умолчанию (из соображений безопасности). Чтобы включить такую поддержку, нужно в скрипте создающем окно приложения установить опцию.
win = new BrowserWindow({
        icon: 'trayTemplate.png',
        width: 1000,
        height: 900,
        minWidth: 500,
        minHeight: 400,
        show: false,
        backgroundColor: '#e2ffee',
        webPreferences: {
            nodeIntegration: true,     // Node.js в рендер процессе доступен
            preload: path.join(__dirname, 'preload.js')
        }
    })

или в файле package.json по документации
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы