const fs = require('fs'); const file = 'd:/workspace/code/fms/demo.html'; const panelFile = 'd:/workspace/code/fms/.tmp-panel.html'; const lines = fs.readFileSync(file, 'utf8').split('\n'); const panel = fs.readFileSync(panelFile, 'utf8').replace(/\n$/, '').split('\n'); // 替换第 108..211 行(1-based)为新的权限面板;保留第 212 行的 const before = lines.slice(0, 107); const after = lines.slice(211); console.log('第108行原内容:', JSON.stringify(lines[107])); console.log('第211行原内容:', JSON.stringify(lines[210])); console.log('第212行原内容:', JSON.stringify(lines[211])); fs.writeFileSync(file, before.concat(panel).concat(after).join('\n'), 'utf8'); console.log('done, total lines:', before.length + panel.length + after.length);