selector.js 626 B

12345678910111213141516171819
  1. // this is a utility loader that takes a *.vue file, parses it and returns
  2. // the requested language block, e.g. the content inside <template>, for
  3. // further processing.
  4. var path = require('path')
  5. var parse = require('./parser')
  6. var loaderUtils = require('loader-utils')
  7. module.exports = function (content) {
  8. this.cacheable()
  9. var query = loaderUtils.getOptions(this) || {}
  10. var filename = path.basename(this.resourcePath)
  11. var parts = parse(content, filename, this.sourceMap)
  12. var part = parts[query.type]
  13. if (Array.isArray(part)) {
  14. part = part[query.index]
  15. }
  16. this.callback(null, part.content, part.map)
  17. }