Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Import assets directly in your markup

License

NotificationsYou must be signed in to change notification settings

bluwy/svelte-preprocess-import-assets

Repository files navigation

Import assets directly in the markup. Supports Svelte 3, 4, and 5.

NOTE: Svelte 5 support is experimental and may break between versions.

Convert this:

<h1>Look at this image</h1><imgsrc="./assets/cool-image.png"alt="cool image" />

Into this:

<script>import___ASSET___0from'./assets/cool-image.png'</script><h1>Look at this image</h1><imgsrc={___ASSET___0}alt="cool image" />

Usage

Install with your package manager:

npm install --save-dev svelte-preprocess-import-assets

Include the preprocessor in your bundler's Svelte pluginpreprocess option:

import{importAssets}from'svelte-preprocess-import-assets'svelte({preprocess:[importAssets()]})// or in svelte.config.jsexportdefault{preprocess:[importAssets()],// ... other svelte options}

API

TheimportAssets() function receives an optional options object for its first parameter. The object may contain these properties:

sources

  • Type:AssetSource[] | ((defaultSources: AssetSource[]) => AssetSource[])

    interfaceAssetSource{tag:stringsrcAttributes?:string[]srcsetAttributes?:string[]filter?:(metadata:FilterMetadata)=>boolean}interfaceFilterMetadata{tag:stringattribute:stringvalue:stringattributes:Record<string,string>}
  • Default: SeeDEFAULT_SOURCES insrc/constants.js

    These are the sources to look for when scanning for imports. You can provide an entirely different list of sources, or declare a function to access the default sources and augment it. The supported tags and attributes are based onhtml-loader (excepticon-uri). Component name astag is also supported.

    {sources:(defaultSources)=>{return[      ...defaultSources,// Also scan `data-src` and `data-srcset` of an img tag{tag:'img',srcAttributes:['data-src'],srcsetAttributes:['data-srcset'],},]},}

importPrefix

  • Type:string

  • Default:___ASSET___

    The string to be prefixed for asset import names, e.g.___ASSET___0 and___ASSET___1.

http

  • Type:boolean

  • Default:false

    Whether a URL with http/https protocol should be converted to an import.

urlFilter

  • Type:(url: string) => boolean

    Whether a URL should be converted into an import.

    {// Include URLs with specific extensions onlyurlFilter:(url)=>/\.(png|jpg|gif|webp)$/.test(url),}

Recipes

Ignore an element

<!-- svelte-preprocess-import-assets-ignore --><imgsrc="./assets/cool-image.png"alt="cool image" />

Attributions

Sponsors

Sponsors

License

MIT

About

Import assets directly in your markup

Topics

Resources

License

Stars

Watchers

Forks

Contributors5


[8]ページ先頭

©2009-2025 Movatter.jp