vue-cli-plugin-element-zkml
Version:
Quickly build a backend system with vue-cli and element-ui in seconds.
47 lines (38 loc) • 988 B
JavaScript
const fs = require('fs')
const removeFiles = (files = []) => {
files.forEach(path => {
if (fs.existsSync(path)) {
fs.unlinkSync(path)
}
})
}
const filesToRemove = [
'src/router.js',
'src/store.js'
]
const importsToRemove = [
`import store from './store'`,
`import router from './router'`
]
module.exports = (api, options, rootOptions) => {
const { entryFile, generator: { imports } } = api
api.extendPackage({
dependencies: {
'element-ui': '^2.5.4',
'echarts': '^4.2.1',
'axios': '^0.18.0'
}
})
// Remove the default imports generated by vue-cli
if (imports[entryFile]) {
importsToRemove.forEach(itr => imports[entryFile].delete(itr))
}
// Remove the default files generated by vue-cli
api.render(function (files) {
filesToRemove.forEach(ftr => delete files[ftr])
})
api.render('./template/structure')
api.onCreateComplete(() => {
removeFiles(filesToRemove.map(ftr => api.resolve(ftr)))
})
}