-
-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathpoi.js
25 lines (22 loc) · 742 Bytes
/
poi.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
exports.name = 'svg-to-vue-component'
exports.apply = (api, options) => {
api.hook('createWebpackChain', config => {
// Only convert .svg files that are imported by these files as Vue component
const FILE_RE = /\.(vue|js|ts|svg)$/
// Use vue-cli's default rule for svg in non .vue .js .ts files
config.module.rule('svg').issuer(file => !FILE_RE.test(file))
// Use our loader to handle svg imported by other files
config.module
.rule('svg-component')
.test(/\.svg$/)
.issuer(file => {
return FILE_RE.test(file)
})
.use('vue')
.loader('vue-loader')
.end()
.use('svg-to-vue-component')
.loader(require.resolve('./loader'))
.options(options)
})
}