@moomfe/hu-template-minifier
Version:
该类库将使用了 [模板字符串 - 标签 ( Template literals )](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_templates) 功能实现模板定义的类库中的 HTML 代码进行压缩.
23 lines (18 loc) • 705 B
JavaScript
const typescript = require('typescript');
const forEachChild = require('./forEachChild.js');
const getTemplateParts = require('./getTemplateParts.js');
module.exports = function getLiterals( code, id ){
const sourceFile = typescript.createSourceFile( id, code, typescript.ScriptTarget.ESNext, true );
const literals = [];
forEachChild( sourceFile, ( node ) => {
// 判断是否是带标签的模板字符串
if( typescript.isTaggedTemplateExpression( node ) ){
const template = node.template;
literals.push({
tag: node.tag.getText( sourceFile ),
parts: getTemplateParts( template, sourceFile )
});
}
});
return literals;
}