阿里icon下载的iconfont文件夹应该放在哪里?

项目是vue2,问一些使用iconfont的过程中遇到的问题:
1.image.png这里的文件应该放在vue项目的哪个文件夹下?public还是assets,为什么?
2.这个文件夹里的所有文件如果放在assets文件夹下,npm run后报这样一个错误,请问原因是什么,如何解决?image.png
3.网上有在index.html里引用iconfont.css的,有在main.js里引用iconfont.css的,请问有什么区别,哪种才是最优解?
谢谢

阅读 1.8k
2 个回答

放在assets或者static包下都可以,都将作为静态资源在install的时候被引用。

在index.html,main.js里引用也都可以,加载顺序和编码习惯决定放在哪里。

目前我遇到的项目里,放在main.js里进行资源引用的占90%,一个vue项目的页面很可能在组件里去完成,不一定在index.html里,使组件内尽量少的引用公共资源,可让代码简洁且具备可移植性更高。

一般来说,在 Vue2 中,可以将阿里 iconfont 下载的字体文件夹放在 src/assets 目录下。

关于在 Vue2 项目中引入阿里 iconfont 的方式,可以在 main.js 或者是 index.html 文件中引入 iconfont.css 文件。两种方式都是可行的,只是引入方式略有不同:

  • index.html 中引入样式表:
<head>
  <link rel="stylesheet" href="<%= BASE_URL %>assets/iconfont/iconfont.css">
</head>

其中 <%= BASE_URL %> 是 Vue CLI 生成的 index.html 文件中的变量,用于在生产环境中确定应用程序的基本 URL。开发环境中可以直接使用 '/'。
这种方式的好处是它可以在项目启动时就加载字体文件和样式表,无需再在其他组件中单独引入。但如果您的应用程序包含大量图标样式,则这种方法可能会导致样式表过于庞大,影响页面性能。

  • main.js 中引入样式表:

    // 引入阿里 iconfont 样式表 
    import '@/assets/iconfont/iconfont.css';

    这种方式的好处是使得您的应用程序具有更好的可维护性,并且可以将样式表代码拆分到自己的文件中,便于管理和共享。但如果您大量使用图标样式,可能会导致每个组件都需要单独引入样式表,显得非常冗长。

你的报错最好提供一下使用方式, 以及代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题