vue-cli-plugin-project-initial
v1.0.2
Published
init project with svg-icon、ant-design-vue、vue-event-bus
Downloads
231
Readme
vue-cli-plugin-project-initial
在项目中添加或引入使用程度非常大的配置或包,最大程度上在vue项目初始结构上进行配置初始化,提高项目开发效率,为前端团队进行开发上的小规范。 此包会对项目目录结构进行修改 此包引入了‘优雅地使用svg的icon’配置、eventBus配置。 此包中依赖了以下npm包:
- axios
- UI框架ant-design-vue
- svg-sprite-loader
使用
vue add project-initial
svg-icon(优雅地使用svg的icon)
webpack配置
// vue.config.js
const path = require('path')
function resolve(dir) {
return path.join(__dirname, './', dir)
}
module.exports = {
chainWebpack: config => {
const svgRule = config.module.rule('svg') // 找到svg-loader
svgRule.uses.clear() // 清除已有的loader, 如果不这样做会添加在此loader之后
svgRule.exclude.add(/node_modules/) // 正则匹配排除node_modules目录
svgRule // 添加svg新的loader处理
.test(/\.svg$/)
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]',
})
// 修改images loader 添加svg处理
const imagesRule = config.module.rule('images')
imagesRule.exclude.add(resolve(/src\/plugins\/icon\/svg/)) // icon文件所在目录
config.module
.rule('images')
.test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
}
}
使用
- 在
src/plugins/icon/svg
中新增svg文件,命名为delete.svg
- 在vue文件中使用
delete.svg
<template>
<svg-icon icon="delete" class-name="delete-icon">
</template>
<style>
.delete-icon {
width: 100px;
height: 100px;
fill: red;
}
</style>
axios
配置
可在src/plugins/axios/
下增加如拦截器等配置
使用
this.$axios
ant-design-vue
配置
可在src/plugins/antd/
下增加如自定义引入等配置
使用
<a-button type="primary">
Primary
</a-button>
event-bus
配置
可在src/plugins/bus/
下增加自定义配置信息
使用
this.$bus.$emit()
this.$bus.$on()