magix-composer
Version:
compile html, style and javascript files into javascript
98 lines • 3.81 kB
JavaScript
module.exports = {
artCommandReg: /\{\{[\s\S]*?\}\}(?!\})/g,//art模板
microTmplCommand: /<%[\s\S]*?%>/g,
revisableReg: /@(?:mx:)?\{[a-zA-Z\.0-9\-\~#_&]+\}/,
revisableGReg: /@(?:mx:)?\{[a-zA-Z\.0-9\-\~#_&]+\}/g,
galleryFileNames: ['_config', 'config', 'cfg', '_cfg'],
galleryFileSuffixes: ['mjs', 'js'],
galleryAttrAppendFlag: '_',
atViewPrefix: '@mx:',
galleryProcessed: Symbol('gallery.processed'),
galleryDynamic: Symbol('gallery.dynamic.config'),
cssRegexpKey: Symbol('css.regexp.key'),
tmplStoreIndexKey: Symbol('tmpl.store.index.key'),
htmlminifier: { //html压缩器选项 https://www.npmjs.com/package/html-minifier
removeComments: true, //注释
collapseWhitespace: true, //空白
quoteCharacter: '"', //属性引号
removeEmptyAttributes: true, //移除空的属性
collapseInlineTagWhitespace: true, //移除标签间的空白
caseSensitive: true, //保持大小写
keepClosingSlash: true,//保持关闭斜杠
includeAutoGeneratedTags: false,//自动插入tag
removeRedundantAttributes: true //移除默认的属性,如input当type="text"时 type可被移除
},
tmplGlobalVars: {
window: 1,
JSON: 1,
document: 1,
console: 1,
Math: 1,
Number: 1,
isNaN: 1,
isFinite: 1,
parseInt: 1,
parseFloat: 1,
Infinity: 1,
NaN: 1,
encodeURIComponent: 1,
decodeURIComponent: 1,
escape: 1,
unescape: 1,
encodeURI: 1,
decodeURI: 1,
eval: 1,
undefined: 1,
history: 1,
localStorage: 1,
sessionStorage: 1,
navigator: 1,
Array: 1,
Date: 1,
String: 1,
Function: 1,
Boolean: 1,
Object: 1,
Intl: 1,
screen: 1,
atob: 1,
btoa: 1,
performance: 1
}, //模板中全局变量
htmlAttrParamFlag: '*',
htmlAttrParamPrefix: '_p_:',
quickDirectTagName: 'qk:direct',
quickGroupTagName: 'qk:group',
quickDirectCodeAttr: 'qk:code',
quickSpreadAttr: 'qk:spread',
quickAutoAttr: 'qk:auto',
quickOpenAttr: 'qk:open',
quickCloseAttr: 'qk:close',
quickForAttr: 'qk:for',
quickForInAttr: 'qk:forin',
quickEachAttr: 'qk:each',
quickIfAttr: 'qk:if',
quickElseIfAttr: 'qk:elif',
quickElseAttr: 'qk:else',
quickSourceArt: 'qk:srcart',
quickDeclareAttr: 'qk:declare',
quickLoopReg: /\b(qk:each|qk:forin)\s*=\s*(['"])([^'"]+)\2/g,
quickConditionReg: /\b(qk:if|qk:elif|qk:for)\s*=\s*(['"])([^'"]+)\2/g,
tmplTempStaticKey: '_t_:static',
tmplTempRealStaticKey: '_t_:r-static',
tmplGroupTag: 'template',
tmplGroupKeyAttr: '_t_:key',
tmplGroupUseAttr: '_t_:use',
tmplCondPrefix: '_t_:cond_',
tmplMxViewParamKey: '$',
tmplStaticKey: '_',
tmplVarTempKey: '$_temp',
tmplMxEventReg: /\b(?:\x1c\d+\x1c)?mx-(?!view\b|vframe\b|owner\b|html\b|static\b|is\b|as\b|type\b|name\b|to\b|from\b)([a-zA-Z]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g,
styleImportReg: /^(ref|compiled)?@?([\w\.\-\/\\]+?(?:\.css|\.less|\.mx|\.mmx|\.style))$/,
styleDependReg: /(?:\.css|\.less|\.mx|\.mmx|\.style)$/i,
styleInJSFileReg: /(\(\s*)?(['"]?)\(?(ref|compiled)?\x12@(?:mx:)?([\w\.\-\/\\]+?)(\.css|\.less|\.mx|\.mmx|\.style)(?::\.?([\w\-]+))?\)?\2(\s*\))?(;?)/g,
styleInHTMLReg: /@(?:mx:)?([~\w\.\-\/\\]+?)(\.css|\.less|\.mx|\.mmx|\.style):\.?([\w\-]+)/g,
cssIdGlobalPrefix: '__global__',
cssRefReg: /\[\s*ref\s*=\s*(['"])\s*@(?:mx:)?([\w\.\-\/\\]+?)(\.css|\.less|\.scss|\.mx|\.mmx|\.style):([\w\-]+)\1\]/g,
cssVarRefReg: /(['"])\s*ref\s*=\s*@(?:mx:)?([\w\.\-\/\\]+?)(\.css|\.less|\.scss|\.mx|\.mmx|\.style):([\w\-]+)\1/
};