A require hook for importing asset files during runtime.
Allows files required by node that match a given set of extensions to be returned as either a data URI, or a custom filename. Meant to be used in conjunction with file-loader or url-loader when building universal apps.
Using this tool requires Node.js v0.12.x or higher.
$ npm i --save asset-require-hook
Attach the require hook to the desired file extensions using the extensions
parameter.
require('asset-require-hook')({
extensions: ['jpg']
})
// const image = require('./icon.jpg');
The require hook accepts these parameters: extensions
, name
, publicPath
and regExp
.
require('asset-require-hook')({
extensions: ['jpg'],
name: '[hash].[ext]',
publicPath: '/dist/',
regExp: '\\mySpecificFilename/(.+)'
})
To enable data URI's use the limit
parameter, and optionally any other parameters used by the url-loader
.
require('asset-require-hook')({
extensions: ['woff'],
mimetype: 'application/font-woff',
limit: 10000
})