Я создаю приложение Vue с помощью Nuxt. Я построил с режимом SSR. Он строит серверную сборку с точкой входа .Nuxt / server. js.
Я использую https://ssr.vuejs.org/api/#createbundlerenderer для создания средства визуализации на NodeJS, поэтому я могу предоставить шаблон Html с компонентом внутри, и он сможет визуализировать этот компонент. Но проблема в сервере. js использует операторы import для импорта модулей, которые не работают с NodeJS.
(function (exports, require, module, __filename, __dirname) { import { stringify } from '...'
^^^^^^
SyntaxError: Cannot use import statement outside a module
Я пытался установить "type": "module"
в пакете . json или используйте расширение .m js. Но с этим не повезло.
Вот сгенерированная сборка сервера.
import { stringify } from 'querystring'
import Vue from 'vue'
import fetch from 'node-fetch'
import middleware from './middleware.js'
...
Вот код, который я использовал для рендеринга сгенерированной сборки.
const { createBundleRenderer } = require('vue-server-renderer');
const renderer = createBundleRenderer('/ABSOLUTE_PATH/.nuxt/server.js');
renderer.renderToString().then(html => console.log(html)).catch(e => console.error(e));
Может ли кто-нибудь помочь мне сгенерировать серверный пакет в стиле узла?