0.2.0 • Published 11 months ago
nitro-public-module v0.2.0
nitro-public-module
nitro module for better public compatibility
README 🦉
简体中文 | English
Usage
install
npm i nitro-public-module -DConfiguration Module
nuxt
// nuxt.config.ts
import nitroPublic from "nitro-public-module";
export default defineNuxtConfig({
nitro: {
modules: [nitroPublic()],
},
});nitro
// nitro.config.js
import nitroPublic from "nitro-public-module";
export default defineNitroConfig({
modules: [nitroPublic()],
});preset
// nitro.config.js
import nitroPublic from "nitro-public-module";
export default defineNitroConfig({
modules: [
nitroPublic({
// support "spa", "ssg","fallback" and false (disable),default to "fallback"
preset: "fallback",
}),
],
});fallback
Support rollback of any file in production environment (even if dynamically added to public)
spa
Allow you to run spa app in public
ssg
Allow you to run ssg app in public
custom
- disable preset first
// nitro.config.js
import nitroPublic from "nitro-public-module";
export default defineNitroConfig({
modules: [
nitroPublic({
preset: false,
}),
],
});- create custom middleware
// middleware/public-fallback.ts
import { createPublicFallbackMiddleware } from "#nitro-public";
export default createPublicFallbackMiddleware((withoutSlashPathname) => {
// some logic...
return {
file: "index.html", // your file
contentType: "text/html", // If not set, it will be inferred from the extname of the file
withPublicDir: true, // Default to true, help you process the path
};
}, {
skipDev: false, // Default to true, skip in development environment
});virtual
In addition to providing createPublicFallbackMiddleware, #nitro-public also
offers publicDir and serverDir
import {
createPublicFallbackMiddleware,
publicDir,
serverDir,
} from "#nitro-public";All functions are type safe and support development and production
environments (for pure node runtime)
License
Made with markthree
Published under MIT License.