index.js 826 B

12345678910111213141516171819202122
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. var loaderUtils = require("loader-utils");
  6. var mime = require("mime");
  7. module.exports = function(content) {
  8. this.cacheable && this.cacheable();
  9. var query = loaderUtils.getOptions(this) || {};
  10. var limit = (this.options && this.options.url && this.options.url.dataUrlLimit) || 0;
  11. if(query.limit) {
  12. limit = parseInt(query.limit, 10);
  13. }
  14. var mimetype = query.mimetype || query.minetype || mime.lookup(this.resourcePath);
  15. if(limit <= 0 || content.length < limit) {
  16. return "module.exports = " + JSON.stringify("data:" + (mimetype ? mimetype + ";" : "") + "base64," + content.toString("base64"));
  17. } else {
  18. var fileLoader = require("file-loader");
  19. return fileLoader.call(this, content);
  20. }
  21. }
  22. module.exports.raw = true;