Мне нужно запустить простую команду Node, которая запустит часть моего Vue приложения (конкретный c компонент с введенными пользовательскими данными) через vue-server-renderer
/ renderToString()
.
I не требует какого-либо серверного хостинга, маршрутизации или хранения через Vuex, поэтому подавляющее большинство руководств, найденных на https://ssr.vuejs.org/, бесполезны для моих нужд.
My Приложение Vue. js было настроено с помощью vue -cli: оно использует vue -загрузчик, Babel и т. Д. c. и Node не будет читать приложение, поскольку он не может читать ничего, кроме ECMA-262.
Мое дерево:
- src
- - components/
- - - MyComponent.vue. <-- the component I want to render server-side
- - App.vue <-- the web-app (useless for this need)
- - main.js <-- the web-app main file (useless for this need)
- - main-cli.js <-- the cli main file (instantiate MyComponent in new Vue(...) and export as default)
- .browserlistrc
- .eslintrc.js
- .babel-config.js
- cli.js <-- the script I want to run with node to generate HTML from MyComponent
Моя проблема в том, что vue -cli обрабатывает все поколение конфигурации webpack, я не знаю, как собрать мой файл main-cli. js, чтобы он мог потребоваться из моего файла CLI.
Мой файл CLI:
const Vue = require("vue");
const VueServerRenderer = require("vue-server-renderer");
const app = new Vue({
template: `<div>Hello World</div>`, // <-- I cannot import my App since I don't know how to compile it manually
});
const renderer = VueServerRenderer.createRenderer();
renderer
.renderToString(app)
.then((html) => {
console.log(html);
})
.catch((err) => {
console.error(err);
});
Спасибо за любую помощь.