files = files.map(file => removePromise(file)) // 这时候变成了promise
Promise.all(files).then(function () {
fs.rmdir(dir, resolve)
})
})
} else {
fs.unlink(dir, resolve)
}
})
})
}template.js
module.exports = {
vueTemplate: compoenntName => {
compoenntName = compoenntName.charAt(0).toLowerCase() + compoenntName.slice(1)
return `<template>
<div class="vtp-${compoenntName}">
${compoenntName}
</div>
</template>
<script>
export default {
name: 'vtp-${compoenntName}',
data () {
return {
}
},
props: {
},
methods: {}
}
</script>
<style lang="scss" scope>
.vtp-${compoenntName}{}
</style>
`
},
entryTemplate: compoenntName => {
return `import ${compoenntName} from './${compoenntName}'
${compoenntName}.install = function (Vue) {
Vue.component(${compoenntName}.name, ${compoenntName})
}
export default ${compoenntName}
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.component(${compoenntName}.name, ${compoenntName})
}
`
},
mdDocs: (title) => {
return `# ${title}
<!-- {.md} -->
---
<!-- {.md} -->
## 如何使用
<!-- {.md} -->
## Attributes
<!-- {.md} -->
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|-----|-----|-----|-----|-----|
| - | - | - | - | - |
`
}
}
`
},
entryTemplate: compoenntName => {
return `import ${compoenntName} from './${compoenntName}'
${compoenntName}.install = function (Vue) {
Vue.component(${compoenntName}.name, ${compoenntName})
}
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.component(${compoenntName}.name, ${compoenntName})
}
}
}
在 build 中创建以下几个文件,其中 build-entry.js 脚本是用来生成自定义组件导出 packages/index.js , get-components.js 脚本是用来获取 packages 目录下的所有组件
|— build-entry.js
|
|— get-components.js
相关的代码如下,小主可以根据自己的需求进行相应的简单修改,下面的代码参考来源 vue-cards
build-entry.js
const fs = require('fs-extra')
const path = require('path')
const chalk = require('chalk')
const uppercamelize = require('uppercamelcase')
const Components = require('./get-components')()
const packageJson = require('../package.json')
const log = message => console.log(chalk.green(`${message}`))
const version = process.env.VERSION || packageJson.version
function buildPackagesEntry () {
const uninstallComponents = [] const importList = Components.map(
name => `import ${uppercamelize(name)} from './${name}'`










