1234567891011121314151617181920212223242526272829303132333435 |
- const glob = require('glob');
- const fs = require('fs');
- const filenames = [];
- var entryFiles = glob.sync('./**/*.vue');
- entryFiles.forEach(filePath => {
- filenames.push(filePath);
- });
- const getImportItemStr = path => {
- const filename = path.substring(
- path.lastIndexOf('/') + 1,
- path.lastIndexOf('.')
- );
- return `import ${filename} from '${path}';`;
- };
- const getRegistItemStr = path => {
- const filename = path.substring(
- path.lastIndexOf('/') + 1,
- path.lastIndexOf('.')
- );
- return `Vue.component('${filename}', ${filename});`;
- };
- const content = [
- `import Vue from 'vue';`,
- '\r\n',
- filenames.map(x => getImportItemStr(x)).join('\r\n'),
- '\r\n\r\n',
- filenames.map(x => getRegistItemStr(x)).join('\r\n'),
- '\r\n'
- ];
- fs.writeFile('./index.js', content.join(''), function(err) {
- if (err) console.log(err);
- else console.log('写文件操作成功');
- });
|