nitro-public-module
v0.2.0
Published
nitro module for better public compatibility | 对于 nitro 更好的静态资源兼容模块
Downloads
161
Maintainers
Readme
nitro-public-module
nitro module for better public compatibility
README 🦉
简体中文 | English
Usage
install
npm i nitro-public-module -D
Configuration 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.