48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
const fs = require('fs');
|
|
const path = 'D:\\project\\zhizhu\\components\\PhotoUploadForm.vue';
|
|
const content = fs.readFileSync(path, 'utf8');
|
|
|
|
// 尝试使用 @vue/compiler-sfc 或 vue-template-compiler
|
|
let compiler;
|
|
try {
|
|
compiler = require('@vue/compiler-sfc');
|
|
console.log('Using @vue/compiler-sfc');
|
|
} catch (e) {
|
|
try {
|
|
compiler = require('vue-template-compiler');
|
|
console.log('Using vue-template-compiler');
|
|
} catch (e2) {
|
|
console.log('No Vue compiler available');
|
|
console.log('Error:', e.message);
|
|
console.log('Error2:', e2.message);
|
|
process.exit(0);
|
|
}
|
|
}
|
|
|
|
if (compiler.parse) {
|
|
console.log('\nParsing file...\n');
|
|
try {
|
|
const result = compiler.parse(content, {
|
|
filename: 'PhotoUploadForm.vue'
|
|
});
|
|
|
|
if (result.errors && result.errors.length > 0) {
|
|
console.log('Parse errors:');
|
|
result.errors.forEach(err => {
|
|
console.log(err);
|
|
});
|
|
} else {
|
|
console.log('File parsed successfully!');
|
|
}
|
|
|
|
if (result.descriptor) {
|
|
console.log('\nScript setup:', result.descriptor.scriptSetup ? 'yes' : 'no');
|
|
console.log('Script:', result.descriptor.script ? 'yes' : 'no');
|
|
console.log('Template:', result.descriptor.template ? 'yes' : 'no');
|
|
console.log('Style blocks:', result.descriptor.styles.length);
|
|
}
|
|
} catch (e) {
|
|
console.log('Parse error:', e.message);
|
|
}
|
|
}
|