ソースコード: https://github.com/mochamadboval/multipage-vite-vanilla-js
Vite Vanilla JavaScript プロジェクトを作成します。
npm create vite@latest multipage-vite-vanilla-js -- --template vanilla cd multipage-vite-vanilla-js npm i
プロジェクトのフォルダー構造を次のようにカスタマイズします。
|- node_modules/ |- src/ |- assets/ |- img/ |- javascript.svg |- js/ |- counter.js |- public/ |- vite.svg |- index.html |- main.js |- style.css |- .gitignore |- package-lock.json |- package.json
index.html がメイン プロジェクト フォルダーに存在しないため、npm run dev を実行できません。したがって、vite.config.js ファイルを作成し、新しい root パスを src フォルダーに設定します。これは、npm run dev および npm run build コマンドが実行される場合にのみ適用されます。
// vite.config.js export default { root: "./src", };
以下のように調整し、CSSインポート方法をHTMLに移動します。
// ./src/main.js import { setupCounter } from "./assets/js/counter"; import viteLogo from "/vite.svg"; import javascriptLogo from "./assets/img/javascript.svg"; document.querySelector("#app").innerHTML = ` `; setupCounter(document.querySelector("#counter"));
Vite App
これで、npm run dev コマンドを実行できるようになりました。ただし、npm run build を実行すると、src フォルダー内に dist フォルダーが作成されます。そのフォルダーから移動するには、次の構成を追加します。
// vite.config.js export default { root: "./src", build: { outDir: "../dist", emptyOutDir: true, }, };
root: "./src" は影響しないため、dist フォルダーを実行するために npm runreview コマンドを引き続き使用できます (メイン プロジェクト フォルダーを指しているままです)。
次に、srcフォルダーにabout.html、blogフォルダーにarticle.htmlを作成しましょう。
About | Multipage Vite Vanilla JavaScript About page.
Article | Multipage Vite Vanilla JavaScript Article page.
次に、両方のファイルが dist フォルダーにも作成されるように、次の設定を追加します。
// vite.config.js export default { root: "./src", build: { outDir: "../dist", emptyOutDir: true, rollupOptions: { input: { index: "./src/index.html", about: "./src/about.html", article: "./src/blog/article.html", }, }, }, };
これで、プロジェクトは正常に複数ページになりました。
ただし、新しい HTML ファイルを作成するたびに、入力に新しいパスを追加する必要があることに気づいたかもしれません。これを動的に動作させたい場合は、glob パッケージをインストールし、次の構成を追加しましょう。
npm install -D glob
// vite.config.js import { sync } from "glob"; export default { ... build: { ... rollupOptions: { input: sync("./src/**/*.html".replace(/\\/g, "/")), }, }, };
改善および追加できる点:
URLを間違えるとメインページが表示されてしまいます。デフォルトの「見つかりません」ページを表示させることができます。
// vite.config.js export default { appType: "mpa", root: "./src", ...
プロジェクトを Netlify にデプロイすると、デフォルトの「見つかりません」ページを独自の 404 ページに簡単にリダイレクトできます。
src フォルダーに 404.html を作成し、パブリック フォルダーに _redirects ファイル (拡張子なし) を作成します。
Page not found | Multipage Vite Vanilla JavaScript Page not found.
_redirects /* /404.html 200
このプラグインを使用すると、ビルド プロセス中にすべての HTML ファイルを縮小できます (プラグインなしで実行できるかどうか教えてください)。
npm install -D vite-plugin-minify
// vite.config.js ... import { ViteMinifyPlugin } from "vite-plugin-minify"; export default { plugins: [ViteMinifyPlugin()], appType: "mpa", ...
// vite.config.js ... import { resolve } from "path"; export default { resolve: { alias: { "@js": resolve(__dirname, "src/assets/js"), }, }, plugins: [ViteMinifyPlugin()], ...
// ./src/main.js import { setupCounter } from "@js/counter"; import viteLogo from "/vite.svg"; ...
テキスト エディター (VS Code) で自動提案を有効にするには、jsconfig.json ファイルを作成し、この構成を追加します。
// jsconfig.json { "compilerOptions": { "paths": { "@js/*": ["./src/assets/js/*"] } } }
公式ドキュメントに従ってください。
npm install -D tailwindcss postcss autoprefixer npx tailwindcss init
// tailwind.config.js /** @type {import('tailwindcss').Config} */ export default { content: ["./src/**/*.{html,js}"], theme: { extend: {}, }, plugins: [], };
// poscss.config.js export default { plugins: { tailwindcss: {}, autoprefixer: {}, }, };
/* ./src/style.css */ @tailwind base; @tailwind components; @tailwind utilities; root: { ...
Prettier の使用時に TailwindCSS クラスを自動的に並べ替えるには、このドキュメントに従ってください。
npm install -D prettier prettier-plugin-tailwindcss
// .prettierrc { "plugins": ["prettier-plugin-tailwindcss"] }
お役に立てば幸いです:)
ソース:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3