Я мигрирую сложное многостраничное приложение из Webpack, чтобы Vite. Каждый HTML -файл имеет соответствующий скрипт .ts, а файлы живут в вложенных каталогах.
Код: Выделить всё
src/
index.html
index.ts
user/login/index.html
user/login/index.ts
admin/dashboard.html
admin/dashboard.ts
- Автоматически вводить сценарий.Что я пробовал:
Код: Выделить всё
release/ index.html user/login/index.html admin/dashboard.html scripts/ index.js user/login/index.js admin/dashboard.js
Я использовал Vite-plugin-html и vite-plugin-html-template-mpa со списком определений страниц. Я также определил входные записи с использованием файлов .ts. < /P>
Однако: < /p>
Файлы HTML были либо сглажены (например, Dashboard.html вместо admin /dashboard.html) < /li>
или они не получали Emend at All All All All All All All All All All All All Al All < /li> < /li>
Код: Выделить всё
import { defineConfig } from "vite";
import path from "path";
import htmlTemplateMpa from "vite-plugin-html-template-mpa";
const pages = [
"index",
"user/login/index",
"admin/dashboard"
];
export default defineConfig(() => {
const entries = pages.reduce((acc, page) => {
acc[page] = path.resolve(__dirname, `src/${page}.ts`);
return acc;
}, {});
return {
build: {
outDir: "release",
rollupOptions: {
input: entries,
output: {
entryFileNames: "scripts/[name].js",
chunkFileNames: "scripts/chunks/[name].js",
assetFileNames: "assets/[name].[ext]"
}
}
},
plugins: [
htmlTemplateMpa({
pages: pages.map((page) => ({
template: `src/${page}.html`,
entry: `${page}.ts`,
filename: `${page}.html`
})),
minify: true
})
]
};
});
- Файлы HTML вообще не включены в выходной каталог. JS инъецирован. < /Li>
< /ul>
Как я могу настроить VITE на: < /strong> < /p>
Использовать мои файлы .html в качестве Templates < /li>
Внедрение. Выход
Подробнее здесь: https://stackoverflow.com/questions/797 ... nested-out