Я последовал этому примеру:
https://github.com/ndabAP/vue-sails-example
Но вместо использования vue - bootstrap я сделал с Vuetify с vue - cli:
vue create frontend
cd frontend
vue add vuetify
И в vue .config. js я использовал:
// frontend/vue.config.js
outputDir: "../backend/assets/dependencies",
В бэкэнде сгенерировал маршрут контроллера к индексу. js:
// config/routes.js
'/*': { action:'index', skipAssets: true, skipRegex: /^\/api\/v1\/.*$/ },
с содержанием:
// controllers/index.js
module.exports = {
friendlyName: 'View homepage',
description: 'Display homepage view',
exits: {
success: {
statusCode: 200,
description: 'Display the view index page.',
viewTemplatePath: 'pages/index'
},
},
fn: async function () {
return {};
}
};
Представление layout / layout.e js должно содержать:
<% /* views/layouts/layout.ejs */ %>
<!DOCTYPE html>
<html>
<head>
<title><%=typeof title == 'undefined' ? 'New Sails App' : title%></title>
<!-- Viewport mobile tag for sensible mobile support -->
<meta charset=utf-8>
<meta http-equiv=X-UA-Compatible content="IE=edge">
<meta name=viewport content="width=device-width,initial-scale=1">
<link rel=icon href=/favicon.ico>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<!--STYLES-->
<!--STYLES END-->
</head>
<body>
<noscript>
<strong>We're sorry but frontend doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id=app></div>
<!--TEMPLATES-->
<!--TEMPLATES END-->
<%- exposeLocalsToBrowser() %>
<!--SCRIPTS-->
<!--SCRIPTS END-->
</body>
</html>
И это лучший способ, которым Я понял. Если есть другой простой способ, который я хочу узнать, потому что я считаю, что необходимо изменить parasails. js для прямой загрузки компонентов или изменения формы регистрации страниц путем регистрации компонентов, используя уникальную страницу аналогичным образом.