Webpack:从打包到 app.js 中排除某些 svg 文件

标签 webpack

我有一个使用 Webpack 构建的 Vue.js 应用程序。我添加了一个包含数百个 SVG 标志的库。 scss 文件非常小 - 标志是文件夹中的单独 SVG 文件。当我构建时,Webpack 将所有 SVG 文件 base64 编码到 app.js 中。在这种特殊情况下,这会适得其反,因为它不必要地扩大了我的应用程序的大小。我宁愿按需从 SVG 文件夹加载标志,以保持我的应用程序小。

在 App.vue

<style lang="scss">
  @import '~flag-icon-css/sass/flag-icon.scss';
</style>

我的 Webpack 配置是用 vue-cli 创建的。它来自这里:
https://github.com/coreui/coreui-free-vue-admin-template/blob/v1/Vue_Starter/build/webpack.base.conf.js

构建在 img 路径中​​包含 Flag-SVG 文件 - 所以这很好。
但是 Flag-SVG 是作为数据从 webpack 加载的,而不是直接从 img 目录加载的。

最佳答案

您应该将这些 SVG 文件移动到 ./static文件夹 - 因此它们不会包含在捆绑包中,而是直接复制到 ./dist文件夹,您必须使用绝对 URL 来引用它们。

关于Webpack:从打包到 app.js 中排除某些 svg 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51522796/

相关文章:

javascript - 使用 Webpack 和 Babel 将 ES6 转换为 AMD

javascript - 通过 WebPack 将 Bootstrap 加载到 Wordpress 时,ReactJS 代码拆分会导致错误

webpack - HTML 作为 Webpack 入口点

reactjs - webpack 配置加载 sass 变量无需 import 语句

javascript - ReactDOM.renderToString sessionStorage 未定义,window 未定义

javascript - "Failed to load resource: the server responded with a status of 404" express docker

json - 离线 : Failure: package./home/denzilgupta/serverless-testing/.webpack/service/services/trader/package.json 中不存在 json

javascript - 如何在 next.config.js 文件中组合几个插件?

javascript - 有没有办法从 AngularJS Controller 发出 CLI 命令?

twitter-bootstrap - Uncaught ReferenceError : Popper is not defined - with Bootstrap 4 and Webpack 3. 8.1