UNPKG

mpvue-webpack4-loader

Version:

mpvue single-file component loader for Webpack

26 lines (23 loc) 1.01 kB
// this is a utility loader that takes a *.vue file, parses it and returns // the requested language block, e.g. the content inside <template>, for // further processing. var path = require('path') var parse = require('./parser') var loaderUtils = require('loader-utils') var { defaultPart } = require('./mp-compiler/util') var compilerContext = require('./context') module.exports = function (content) { this.cacheable() compilerContext.setContext(this) var compilerOptions = compilerContext.getOptions() var query = loaderUtils.getOptions(this) || {} var context = (this._compiler && this._compiler.context) || compilerOptions.context || process.cwd() var filename = path.relative(context, this.resourcePath).replace(/\..+$/, '.vue') var parts = parse(content, filename, this.sourceMap) var part = parts[query.type] if (Array.isArray(part)) { part = part[query.index] } part = part || defaultPart('style') this.callback(null, part.content, part.map) }