Babel Inline Import Data URI
Babel plugin to add the opportunity to use import
file content as DataURI.
Examples
import logo from './logo.svg';
console.log(logo);
Install
npm install babel-plugin-inline-import-data-uri --save-dev
Use
Add a .babelrc
file and write:
{
"plugins": [
"inline-import-data-uri"
]
}
or pass the plugin with the plugins-flag on CLI
babel-node myfile.js --plugins inline-import-data-uri
By default, Babel-Inline-Import is compatible with the following file extensions:
Customize
If you want to enable different file extensions, you can define them in your .babelrc
file
{
"plugins": [
["babel-plugin-inline-import", {
"extensions": [
".html",
".jpg"
]
}]
]
}
How it works
It inserts the content of the imported file directly into the importing file encoded as Data URI, assigning it to a variable with the same identifier of the import statement, thus replacing the import statement and the file path by its resulting content.
Caveats
Babel does not track dependency between imported and importing files after the transformation is made. Therefore, you need to change the importing file in order to see your changes in the imported file spread. To overcome this:
Also make sure that your task runner is watching for changes in the imported file as well. You can see it working here.
Credits
This project is based on babel-plugin-inline-import.