你可以试试这样的:
- 编译 Svelt 以构建到 Sails.js 上的 /public 目录中。
打开您的 rollup.config.js 并将您的 public/build/bundle.js 和 public/build.bundle.css 的路径更改为公共风帆路径,即“../server/public...”。
- 配置 /task/pipeline.js 以包含已编译的 js 和 css 文件:
// tasks/pipeline.js
var cssFilesToInject = [
'css/**/global.css',
'css/**/bundle.css',
'css/**/*.css',
];
var jsFilesToInject = [
'js/**/bundle.js',
'js/**/*.js'
];
- 创建一个控制器来加载索引文件:
// router.js
'/*': { action: 'index', skipAssets: true, skipRegex: /^\/api\/.*$/ },
排除的“/api”路由是为了让你配置CRUD路由。
- 索引控制器:
module.exports = {
friendlyName: 'View homepage',
description: 'Display a compiled index page',
exits: {
success: {
statusCode: 200,
viewTemplatePath: 'pages/index'
},
},
fn: async function () {
return {};
}
};
您可以在索引页面中包含模板 index.html 或创建自己的 index.ejs 来加载静态内容,与您之前配置的相同:
// views/templates/template.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Svelte app</title>
<link rel='icon' type='image/png' href='/favicon.png'>
<!--STYLES-->
<!--STYLES END-->
</head>
<body>
<!--TEMPLATES-->
<!--TEMPLATES END-->
<%- body %>
<!-- exposeLocalsToBrowser ( ) %>
<!--SCRIPTS-->
<!--SCRIPTS END-->
</body>
</html>
还有 index.ejs:
// views/pages/index.ejs
<!-- Nothing here I mean -->