pub struct HtmlIntegration { /* private fields */ }Available on crate feature
html only.Expand description
HTML integration.
Builds links, preloads for specified chunks.
// Create `HtmlIntegration` struct:
let html = HtmlIntegration::new(MyViteStatic.boxed())
// add imports of chunks: (<script> tags)
.import("src/main.tsx")
// add preloads of assets (fonts, images, etc).
// arguments: (preload's as="..." attribute, chunk input filename),
.preload("image", "src/images/500GB_image.png")
// add stylesheets
.stylesheet("src/style.scss")
// and then, you can build `String` of HTML (tags, joined by '\n')
.build();
// or you can build array of tags/lines
// .build_lines();
// The result will contain `<script>` tags, `<link rel="stylesheet" ...>` for CSS and `<link rel="preload" ...>` preloads for dependencies.Implementations§
Source§impl HtmlIntegration
impl HtmlIntegration
Sourcepub fn new(
manifest: Box<dyn Manifest<'static> + Sync + Send>,
) -> HtmlIntegration
pub fn new( manifest: Box<dyn Manifest<'static> + Sync + Send>, ) -> HtmlIntegration
Create new HtmlIntegration builder.
Takes DynManifest (boxed Manifest) and returns HtmlIntegration.
Sourcepub fn import(self, chunk: &str) -> HtmlIntegration
pub fn import(self, chunk: &str) -> HtmlIntegration
Import ESM ManifestChunk by key (input filename).
This function:
- adds
<script type="module" ...>for specified chunk; - adds module preloads for all script dependencies.
ⓘ
.import("src/main.tsx")
.import("src/components/MyCoolComponent.tsx")
.import("src/or/some/styles.scss")§Panics
This function will panic if:
- Failed to find chunk by specified key
- Failed to find dependency (AKA imported chunk)
Sourcepub fn preload(self, as_filetype: &'static str, chunk: &str) -> HtmlIntegration
pub fn preload(self, as_filetype: &'static str, chunk: &str) -> HtmlIntegration
Preload ManifestChunk as type by key (input filename).
ⓘ
.preload("font", "src/assets/CoolFancyFont.ttf")
.preload("image", "src/assets/500GB_image.png")
.preload("script", "src/importantScript.js")§Panics
This function will panic if specified chunk was not found.
Sourcepub fn stylesheet(self, chunk: &str) -> HtmlIntegration
pub fn stylesheet(self, chunk: &str) -> HtmlIntegration
Sourcepub fn build_lines(self) -> Vec<String>
pub fn build_lines(self) -> Vec<String>
Builds HTML and returns array of lines.
let html_lines = HtmlIntegration::new(MyViteStatic.boxed())
.import("src/main.tsx")
.build_lines();
assert_eq!(html_lines.len(), 3);
// `src/main.tsx` script tag, `src/shared.ts` preload and `src/style.scss` stylesheet.impl HtmlIntegration
This impl block contains no public items.
Internal functions for HtmlIntegration.
Trait Implementations§
Source§impl Clone for HtmlIntegration
impl Clone for HtmlIntegration
Source§fn clone(&self) -> HtmlIntegration
fn clone(&self) -> HtmlIntegration
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for HtmlIntegration
impl !UnwindSafe for HtmlIntegration
impl Freeze for HtmlIntegration
impl Send for HtmlIntegration
impl Sync for HtmlIntegration
impl Unpin for HtmlIntegration
impl UnsafeUnpin for HtmlIntegration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more