javascript - 仅针对特定目录将 SVG Loader 添加到 Vue-cli 项目
问题描述
我在 vue-cli 项目中使用 Vue 2.6.10。我想在这个项目中使用 SVG 加载器来处理来自特定目录的 SVG 文件。这些是我目前的规则vue.config.js
chainWebpack: (config) => {
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.use('vue-svg-loader')
.loader('vue-svg-loader')
},
这有效 - 但在所有 SVG 文件上运行。
我已经看到了一些webpack 的包含和排除规则,但我不确定你将如何在这种情况下应用它们。
解决方案
https://github.com/neutrinojs/webpack-chain在这里使用。我遇到的问题是,在添加限制后,我必须为所有其他 svg 文件vue-svg-loader
定义规则。file-loader
我有两个文件夹,用于/icons/inline
必须作为文件提供的默认 svg。这个对我有用:vue-svg-loader
/icons/plain
chainWebpack: (config) => {
config.module.rule('svg').uses.clear()
config.module
.rule('svg')
.test(/\/icons\/inline\/.*\.svg$/)
.use('babel-loader')
.loader('babel-loader')
.end()
.use('vue-svg-loader')
.loader('vue-svg-loader')
.end()
config.module
.rule('svg-file')
.test(/\/icons\/plain\/.*\.svg$/)
.use('file-loader')
.loader('file-loader')
.end()
}
推荐阅读
- qt - 如何从 QML 文件更改 QML 文件的属性?
- amazon-redshift - 红移真空没有回收空间
- .net - 限制用户输入并删除 DataGridView 单元格中的特殊字符
- javascript - 我的 indexOf 一直在同一位置找到字符我该如何解决?
- wordpress - 如何从生成的运单中集成对快递 API 的跟踪
- r - 如何根据所属列值将R中count()函数的结果添加到原始数据框中?
- c++ - GL_POINTS 和 GL_LINES 的 OpenGL glDrawArrays 位于相同点的不同像素上
- excel - 关闭 excel 文件而不使用 pywin32 保存:.Close(SaveChanges=False) 方法不起作用
- jquery - jQuery 检查 data-* 属性是否包含 $(this) 的值,然后执行某些操作
- angular - 带有 AWS Cognito 和 API 网关的 Angular (8) HTTPInterceptor