最近因业务原因,需要将
render(page({}), compList, 'js/page/file.js' );
这样的代码中的第三个参数在上线的时候替换成线上地址,但页面因为开启了manifest,没法在后端做配置输出,就在build的时候分析该语法的第三个参数来替换为新地址。需要处理的代码会加上特定的注释来让分析器分析来实现预处理,大概像这样:
/*# render #*/ render(page({}), compList, 'js/page/file.js' ); /*# end #*/
这样在build的时候,给个配置就能转换为新的代码输出了:
main({ file:"test.js", render:{ files:["http://static.cdn.address/newfile.js"] } });
输出:
/*# render #*/ render(page({}), compList,"http://static.cdn.address/newfile.js"); /*# end #*/
源码地址: