在 Webpack + VueJs 中链接样式表和要求它们有什么区别?

2024-03-04

使用 VueJs 和 Webpack 组合,我发现要包含外部样式表(例如 bootstrap),您可以执行以下两种操作之一:

在你的主 js 脚本中,你可能需要这样的样式表:

require('./assets/lib/bootstrap.min.css');

或者您可以简单地将其移动到通过 Express 访问的静态文件夹并将其链接到您的主 html 文件中:

<link rel="stylesheet" type="text/css" href="/static/css/lib/bootstrap.min.css">

这两种方法有什么区别?我不太明白使用 require 相对于链接的优势(除非我猜它在每个组件本地工作?)。使用其中一种比另一种有什么优势吗?


Require方法:

  • 由 webpack 捆绑
  • 某些库可能无法捆绑开箱即用,并且可能需要额外的配置
  • 你可以使用各种技巧,例如将所有 CSS 提取到一个文件中
  • 另外,您可以决定不将它们拆分为单独的文件,您可以将所有 CSS 和 JS 放在 1 个文件中(非常方便的开发设置)
  • webpack 可以将图像内联到 CSS 中,然后再内联到 JS 中
  • CSS 的热重载应该适用于这种方法(对库没有用)
  • 像 libs 这样的大 CSS 使 webpack 开发服务器运行缓慢,因为它每次都必须重建它们

Link方法:

  • 没有被 webpack 触及
  • 可以从外部 CDN 提供服务,前提是您不需要从您的服务器提供服务
  • 不灵活
  • 它就是有效的

Webpack 方法为您提供了更多的灵活性和可能性 - 这对您的代码非常有好处。我认为我的经验法则是,如果不需要的话,不要捆绑库,除非有原因,因为你需要付出构建时间和有时额外的配置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Webpack + VueJs 中链接样式表和要求它们有什么区别? 的相关文章

随机推荐

  • 工作流程单元测试

    如何对 Windows 工作流程进行单元测试 K 斯科特 艾伦 已发布this http odetocode com Blogs scott archive 2006 08 02 5492 aspx 它提供了一种对自定义活动进行单元测试的方
  • Objective-C 到 Swift 的完成处理程序

    我目前正在将一个项目从 Objective C 重写为 Swift 项目的大部分已完成 但我在翻译具有完成处理程序的方法时遇到问题 我已经查看了文档 但仍然遇到问题 方法是 void start void WTStartupConfigur
  • ADO.NET CommandBuilder、InsertCommand 和默认约束

    我正在将数据从表 A 复制到表 B 表 B 有一个nullable列有一个默认约束值为 0 一般来说 我使用以下访问器设置列的值 public object this string columnName get return DataTab
  • 了解 Linux 内核调度程序

    我正在研究 Linux 内核 并试图弄清楚循环调度算法是如何工作的 在里面kernel sched rt c文件中 有一个方法叫做task tick rt定义如下 static void task tick rt struct rq rq
  • 如何使用 Chocolatey 非交互方式安装 VS Build Tools 2022 以及一些自定义安装选项?

    我想安装带有以下组件的 VS Build Tool 2022 NET Desktop Build Tools 排除 Net Framework 4 8 目 标包 Web 开发构建工具 Node js Build Tools 包括可选的 我目
  • 无法在 eclipse 中配置 Facebook SDK

    我根据facebook教程完成了关于如何配置facebook SDK的所有步骤 并且没有任何运气 还尝试了github配置 如图所示Eclipse 上的 Android Facebook SDK 配置 https stackoverflow
  • 在游戏结束场景中使用视图控制器

    我需要在碰撞检测后为我的应用程序制作一个结束屏幕 使用按钮使结束屏幕返回主菜单 游戏的最简单方法是什么 我可以使用ViewController 我读过很多教程 视频以及这里的所有帖子 这是我当前的代码 并非全部 只是一些重要的事情 impl
  • 如何更改反应中道具的值?

    如何改变props的值 如何setProps 假设this props contact name的值是John 我想把它改成Johnny 我怎样才能做到这一点 例如 changeValue this props contact name J
  • 使用 Apache Superset API 提供数据集

    我想了解是否可以使用 Superset API 填充 Superset 数据集 我浏览了文档 https superset apache org docs rest api我感觉我们不能像上传 CSV 文件那样做到这一点 我知道另一种可能性
  • 在 html 文档中标记文本

    假设我有以下标记 h1 Some title h1 p First paragraph p p Second paragraph p 我需要标记文本的某些部分 即 第一段第二段 它看起来像这样 h1 Some title h1 p F p
  • 确定图像相对于页面顶部的位置

    我有 2 张图像需要稍微重叠 我的第一张图片是 logo png 第二张图片是 form png 我的html是 div img src images logo png align left div div img src images f
  • gnuplot - 将字符串变量转换为小写

    如何在 gnuplot 中将字符串转换为小写 这是一个 gnuplot 字符串处理问题 示例 我希望在 gnuplot 脚本中检查用户输入的参数 if tolower ARG2 ohms 因此接受 ohms Ohms 或 OHMS 首选是不
  • 整数除以 3 最快的方法是什么?

    int x n 3 lt make this faster for instance int a n 3 lt normal integer multiplication int b n lt lt 1 n lt potentially f
  • 使用 Python 删除所有 DynamoDB 项目

    如何使用 python boto3 删除 DynamoDB 中的所有项目 我正在尝试这样做 scan table scan with table batch writer as batch for each in scan Items ba
  • J2ME开发不用Java?

    我正在第一次涉足 J2ME 世界 我更喜欢使用函数式语言来进行开发 Scala 曾经支持 CLDC 但已不再维护 Bigloo似乎消失了 解释器 例如 Jython 是不行的 因为 J2ME 应用程序必须很小 至少我的应用程序必须很小 我想
  • GCov可以在windows下使用吗?

    我可以在 Windows 中安装 gcov 工具吗 或者我可以在windows下的eclipse中使用这个工具的插件吗 我对这个工具很陌生 我对这个工具没有任何想法 请帮我获取这个工具的信息 请告诉我在我的机器上运行此工具的要求 我在哪里可
  • YouTube IFRAME 与 YouTube Android 播放器 API

    我计划在我的 Android 应用程序中安装 YouTube 播放器 并找到了两种替代方案 框架API https developers google com youtube iframe api reference或与YouTube An
  • 如何将 Heroku 应用程序链接到私人 Github 存储库?

    我是 Heroku 的新手 我不熟悉部署 管道的用语 我已经安装了 Heroku CLI 并使用以下命令部署了一个应用程序 run heroku create myNewHerokuApp 我的实例现已制作完毕 我在 Github 上有一个
  • 页面部分回发后如何在 UpdatePanel 中保持焦点位置

    我在带有更新面板的页面中有四个控件 最初 鼠标焦点设置为第一个控件 当我将页面部分回发到服务器时 焦点会自动从我按下 Tab 键的控件的最后一个焦点控件移动到第一个控件 有什么办法可以保持最后的焦点吗 看一眼使用自动回发控件在更新面板中恢复
  • 在 Webpack + VueJs 中链接样式表和要求它们有什么区别?

    使用 VueJs 和 Webpack 组合 我发现要包含外部样式表 例如 bootstrap 您可以执行以下两种操作之一 在你的主 js 脚本中 你可能需要这样的样式表 require assets lib bootstrap min cs