Plugin
Learn to create a bundler plugin to manage components.
We'll cover the following
The bundler
plugin
Popular JavaScript frameworks provide a convention for creating components. For example, some frameworks let developers define a new file with a specific extension dedicated to describing a component. This type of component is called SFC (Single File Component). To reproduce this feature we need to create a plugin that extends the module bundler and instruct it to manage those files with a specified extension. We use the following import statement for this:
import Example from "./components/Example.assma";
At this point, the module bundler should know how to deal with this type of file. Below is an example of a bundler
plugin that works with Parcel
. All we need to do is to create an index.js
file and export a function that takes a bundler
variable as an argument. We can associate our specified extension to an Asset
. An Asset
represents the way to handle this type of file. To create an asset, we should define a class that extends Asset
(from the parcel
package) and override an async method, generate()
. In this method, we write the logic of reading the imported file and converting it to known formats such as JavaScript or CSS code. The name of the imported file is injected into a basename
class property, and the content is injected into a contents
class property.
Get hands-on with 1400+ tech skills courses.