| 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控制流修复完成!');
 
 
  |