@swyt

Почему появляется ошибка «Error: Invalid filename» после компиляции в exe?

Есть скрипт, который делает запросы через got-scraping (для примера он урезан):
const { gotScraping } = require('got-scraping');

async function getData(arg1, arg2) {
  const url = "...";

  const headers = {
    ...
  };

  try {
    const response = await gotScraping(url, { headers });
    const data = JSON.parse(response.body);
    const x = `...`;
    const response2 = await gotScraping(x, { headers });
    const data2 = JSON.parse(response2.body);
    return x;
  } catch (error) {
    console.error('Error fetching data:', error);
    return null;
  }
}

const arg1 = process.argv[2];
const arg2 = process.argv[3];

if (!arg1 || !arg2) {
  console.error('Необходимо указать arg1 и arg2.');
  process.exit(1);
}

getData(arg1, arg2)
  .then(url => {
    if (url) {
      console.log(url);
    } else {
      console.log('Не удалось получить Data.');
    }
  });

До компиляции в .exe он работает, но в виде .exe он выдаёт ошибку:
name-win arg1 arg2
pkg/prelude/bootstrap.js:1872
      throw error;
      ^

Error: Invalid filename
    at new <anonymous> (C:\snapshot\name\node_modules\adm-zip\adm-zip.js:57:19)
    at new BayesianNetwork (C:\snapshot\name\node_modules\generative-bayesian-network\bayesian-network.js:24:21)
    at new HeaderGenerator (C:\snapshot\name\node_modules\header-generator\header-generator.js:102:38)
    at Object.<anonymous> (C:\snapshot\name\node_modules\got-scraping\dist\agent\transform-headers-agent.js:10:19)
    at Module._compile (pkg/prelude/bootstrap.js:1930:22)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at Module.require (pkg/prelude/bootstrap.js:1851:31)

Node.js v20.11.1

Вот package.json:
package.json

{
  "name": "name",
  "version": "1.0.0",
  "main": "index.js",
  "bin": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "pkg": {
    "assets": [
      "node_modules/header-generator/data_files/headers-order.json",
      "node_modules/header-generator/data_files/browser-helper-file.json"
    ]
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "got-scraping": "^3.2.15"
  }
}


Как решить эту проблему? Путь к проекту такой: "C:\Users\User\Desktop\name". node_modules находится там же, но почему-то в ошибке написан путь "C:\snapshot\name\....", которого нет.
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
@swyt Автор вопроса
Нужно было добавить в package.json путь к zip файлам
"pkg": {
    "assets": [
      "node_modules/header-generator/data_files/headers-order.json",
      "node_modules/header-generator/data_files/browser-helper-file.json",
      "node_modules/header-generator/data_files/header-network-definition.zip",
      "node_modules/header-generator/data_files/input-network-definition.zip"
    ]
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы