UNPKG

nyx_server

Version:

Node内容发布

44 lines (39 loc) 1.54 kB
"use strict"; /** * requirejs的处理器 */ var JsProcessorBase = require('./jsProcessor'); //处理器的基类 var matchRegex = function(){ return /["']+[^"']*["']+[\s]*:[\s]*["']+([^"']*)["']+/gi; }; var RequireJsProcessor = function(){ JsProcessorBase.apply(this , arguments); this.replaceContent = function(orgiContent , block , targetFileName , returnType){ //requirejs.config方式的paths不能带.js后缀,替换掉 targetFileName = targetFileName.replace('.js' ,''); return orgiContent.replace(block.blockContent , targetFileName); }; this.getBlocks = function(blockContent){ var blocks = blockContent.match(/requirejs.config(?:\r|\n|\s|\(\s*{)*paths(?:\r|\n|\s)*:(?:\r|\n|\s)*{([^}]*)}/gi); //得到paths的内容 var ret = []; if(!blocks){ return ret; } for(var i=0 ; i<blocks.length ; i++){ var block = blocks[i]; var arr = block.match(matchRegex()); if(typeof arr !== 'undefined'){ for(var j=0 ; j<arr.length ; j++){ var c = arr[j]; var m = matchRegex().exec(c); ret.push({ filePath : m[1]+".js", blockContent : m[1] }); } } } return ret; }; }; module.exports = RequireJsProcessor;