UNPKG

html-css-scope-loader

Version:

html add css scope ( html template add css module)

52 lines (33 loc) 1.28 kB
var fs = require('fs'); var path = require('path'); var loaderUtils = require("loader-utils"); var { getUniqueID } = require('./util/index.js') var templateParse = require('./template/index.js') var styleParse = require('./css/index.js') var replaceSrc = require('./util/replaceSrc.js') module.exports = function(content) { var outResult = ''; var options = loaderUtils.getOptions(this) || {}; var resourcePath = this.resourcePath.replace(/\\/g,"/"); options.resourcePath = resourcePath; options.uniqueID = options.cssScopeId?options.cssScopeId: getUniqueID(resourcePath) options.selfPath = path.resolve(__dirname,'./loader.js'); options.selfPath = options.selfPath.replace(/\\/g,"\\\\"); options.exclude = options.exclude?options.exclude:false //去除引入信息 if(/module\.exports\s?=/.test(content)) { content = content.replace(/module\.exports\s?=\s?/, ''); }else content = JSON.stringify(content); //是否传入的是css if(options.cssModel){ outResult= styleParse.call(this,content,options) }else{ var{ template,importPaths } = templateParse(content,options) if(importPaths){ outResult += importPaths+'\n'; } template = replaceSrc(template,options.exclude) outResult += 'module.exports = '+ template } return outResult };