elm-asset-webpack-loader
v1.1.3
Published
Webpack loader for assets (like images or fonts) in Elm programming language
Maintainers
Readme
elm-asset-webpack-loader
Webpack loader for assets (like images or fonts) in Elm programming language
Usage
img [ src "require:src/assets/logo.svg" ] []Webpack
- This loader is meant to be run in combination with
elm-webpack-loader - The configuration isn't allowed to have
noParsefor elm files
{
test: /\.elm$/,
use: [
{
loader: require.resolve("elm-asset-webpack-loader")
},
{
loader: require.resolve("elm-webpack-loader")
}
]
}With this configuration other loaders (like this svg example) can be used:
{
test: /\.svg$/,
loader: require.resolve("file-loader"),
options: {
name: "static/media/[name].[hash:8].[ext]"
}
}Goals
Path safety
The build should fail at compile time if an asset path is used, that isn't existing or misspelled.
Webpack loaders
With this approach any webpack loader can be used. Use cases can be to hash file names, to optimize images and more. See awesome-webpack#loaders.
Prior art and alternatives
elm-assets-loaderis a comparable approach, and is more sophisticated. The package is marked as deprecated.babel-elm-assets-pluginis using babel. It mentions to disable Elm optimization. This could be because it's using aStringtype alias.- It's possible to require files in JavaScript and pass them as flags to Elm (Instructions)
