【发布时间】:2020-05-10 20:45:14
【问题描述】:
您好,我在我的项目中使用 Nuxt JS,我注意到我的 js 文件越来越大
我的问题是如何将其缩小或拆分超过 1mb 的供应商或 js 文件
我还看到 font-awesome 也占用了很多空间
如何删除所有这些不必要的库并使 js 文件更小?
字体真棒是:200KB 免费的solid-svg-icons:194KB vendor.app:1MB
【问题讨论】:
您好,我在我的项目中使用 Nuxt JS,我注意到我的 js 文件越来越大
我的问题是如何将其缩小或拆分超过 1mb 的供应商或 js 文件
我还看到 font-awesome 也占用了很多空间
如何删除所有这些不必要的库并使 js 文件更小?
字体真棒是:200KB 免费的solid-svg-icons:194KB vendor.app:1MB
【问题讨论】:
这就是我能够剃掉 1+ MB 的方法
首先,如果您正在使用nuxt-fontawesome 模块,请将其删除。即使我明确列出了我关心的图标,我也无法弄清楚如何优化它。
相反,我创建了一个很棒的字体插件并使用了library as mentioned in the README。
font_awesome_icons.js
import Vue from 'vue'
import { library, config } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
import { faGem } from '@fortawesome/free-regular-svg-icons/faGem'
import { faFacebookF } from '@fortawesome/free-brands-svg-icons/faFacebookF'
import { faUser } from '@fortawesome/free-solid-svg-icons/faUser'
library.add(faGem, faFacebookF, faUser)
Vue.component('font-awesome-icon', FontAwesomeIcon)
nuxt-config.js
// ...
plugins: [
{ src: '~/plugins/font_awesome_icons.js', mode: 'client' }
],
// ...
index.vue
<template>
<font-awesome-icon :icon="['fab', 'facebook-f']" />
</template>
<script>
export default {
}
</script>
<style>
</style>
【讨论】: