Как запустить vue3 проект при помощи pm2?

Есть проект, у которого сборщик vite. Его размещаю на vps.

После выполнения yarn build повялется каталог dist, со следующим содержимым: введите сюда описание изображения

На скрине видно, что vite сгенерировал скриптовый фали с хешем ( очевидно, что так будет каждый раз после yarn build.

Также в корне проекта есть ecosystem.config.cjs:

const os = require('os');
module.exports = {
    apps: [
      {
        name: 'Lk',
        port: '5173',
        instances: 'max',
        watch: true,
        script: './dist/assets/index-b8c8815c.js', //??
        args: 'dev',
        instances   : os.cpus().length,
        exec_mode   : 'fork',
        env: {
            NODE_ENV: "production",
        }
      }
    ]
}

Проблемы:

  1. Каждый раз при пересборке, нужно переписывать значение поля script на новое, с новым хэшом? Есть какой-то более удобный способ?
  2. После pm2 start ecosystem.config.cjs проект после сборки не запускается и pm2 logs отдает ошибку:
11|Lk | ReferenceError: document is not defined
11|Lk |     at file:///var/www/lk.site/dist/assets/index-b8c8815c.js:1:21
11|Lk |     at file:///var/www/lk.site/dist/assets/index-b8c8815c.js:1:708
11|Lk |     at ModuleJob.run (node:internal/modules/esm/module_job:192:25)
11|Lk |     at async DefaultModuleLoader.import (node:internal/modules/esm/loader:246:24)
11|Lk |     at async importModuleDynamicallyWrapper (node:internal/vm/module:428:15)

В чем тут может быть причина ошибки? Или неверно настроен ecosystem.config.cjs? Pm2 вообще подходит для таких вещей как spa на vue3 или нужно выбирать что-то дургое?


Ответы (0 шт):