babel-plugin-transform-assets-import-to-string
Version:
Babel plugin that transforms image assets import and requires to urls / cdn
107 lines (81 loc) • 2.61 kB
Markdown
> Babel plugin that transforms image assets import and requires to urls / cdn
[![npm][npm-badge]][npm-link]
[![Build Status][circle-badge]][circle-link]
* [About](
* [Installation](
* [Usage](
* [via babelrc](
* [via Node API](
This [babel](https://babeljs.io/) plugin allows you to transform asset files into a string uri, allowing you to point your assets to CDN or other hosts, without needing to run your code through module bundlers.
This helps when doing _isomorphic_ / server-rendered applications.
```js
import image from '../path/assets/icon.svg';
const image1 = require('../path/assets/icon1.svg');
// to
const image = 'http://your.cdn.address/assets/icon.svg';
const image1 = 'http://your.cdn.address/assets/icon1.svg';
// Somewhere further down in your code:
//
// eg: JSX
// <img src={image} alt='' />
//
// eg: Other cases
// ajaxAsyncRequest(image)
```
See the spec for more [examples](https://github.com/yeojz/babel-plugin-transform-assets-import-to-string/blob/master/test/index.spec.js).
```
$> npm install babel-plugin-transform-assets-import-to-string --save
```
```json
{
"plugins": [
[
"transform-assets-import-to-string",
{
"baseDir": "/assets",
"baseUri": "http://your.cdn.address"
}
]
]
}
```
```js
require('babel-core').transform('code', {
plugins: [
[
'transform-assets-import-to-string',
{
baseDir: '/assets',
baseUri: 'http://your.cdn.address'
}
]
]
});
```
By default, it will transform the following extensions: `.gif, .jpeg, .jpg, .png, .svg` if `extensions` option is not defined. To configure a custom list, just add the `extensions` array as an option.
**Note:** leading `.` (dot) is required.
```json
{
"plugins": [
[
"transform-assets-import-to-string",
{
"extensions": [".jpg", ".png"]
}
]
]
}
```
`babel-plugin-transform-assets-import-to-string` is [MIT licensed](./LICENSE)
[]: https://img.shields.io/circleci/project/github/yeojz/babel-plugin-transform-assets-import-to-string/master.svg?style=flat-square
[]: https://circleci.com/gh/yeojz/babel-plugin-transform-assets-import-to-string
[]: https://img.shields.io/npm/v/babel-plugin-transform-assets-import-to-string.svg?style=flat-square
[]: https://www.npmjs.com/package/babel-plugin-transform-assets-import-to-string