| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | const fs = require('fs');const path = require('path');// 读取HTML文件const htmlFilePath = path.join(__dirname, 'src/app/pages/designer/project-detail/project-detail.html');let htmlContent = fs.readFileSync(htmlFilePath, 'utf8');console.log('开始修复@if控制流闭合问题...');function fixIfBlocks(content) {    const lines = content.split('\n');    const stack = [];    const fixedLines = [];        for (let i = 0; i < lines.length; i++) {        const line = lines[i];        const trimmedLine = line.trim();                // 检测@if控制流开始        if (trimmedLine.includes('@if') && trimmedLine.includes('{')) {            stack.push({                type: 'if',                line: i + 1,                indent: line.match(/^\s*/)[0] // 保存缩进            });            fixedLines.push(line);            continue;        }                // 检测控制流结束        if (trimmedLine === '}' && stack.length > 0) {            const lastBlock = stack[stack.length - 1];            if (lastBlock.type === 'if') {                stack.pop();            }            fixedLines.push(line);            continue;        }                fixedLines.push(line);    }        // 为未闭合的@if块添加闭合大括号    while (stack.length > 0) {        const unclosed = stack.pop();        if (unclosed.type === 'if') {            fixedLines.push(unclosed.indent + '}');            console.log(`为第${unclosed.line}行的@if块添加闭合大括号`);        }    }        return fixedLines.join('\n');}// 修复@if控制流const fixedContent = fixIfBlocks(htmlContent);// 写回文件fs.writeFileSync(htmlFilePath, fixedContent, 'utf8');console.log('@if控制流修复完成!');
 |