我们可以在 Angular(2/4/5/6) 中使用多个库,因为它支持 TreeShaking 吗?不影响性能和构建尺寸

2024-02-03

我已经阅读了这篇文章:https://www.reddit.com/r/Angular2/comments/6a678s/primeng_vs_material2/ https://www.reddit.com/r/Angular2/comments/6a678s/primeng_vs_material2/在他们提到的评论中我们可以使用Prime Ng and 角材一起在应用程序中。在PrimeNg组件大多是独立模块,因此您可以仅添加您需要的模块,对于角材几次更新后。

我的问题是...我们可以在 Angular 应用程序中使用任意数量的库,例如:PrimeNg、Angular 材料、Fuse 等等。不会影响构建的性能或大小,因为 Tree shake 会解决它。 基本上我只想使用材质来设计布局和一些外观和感觉。

另外, Angular(5/6) 是否支持 100% 树摇动,或者我们仍然需要使用 Rollup.js ?浏览了多篇文章但还不确定。


当您使用生产标志构建 Angular 应用程序时,每个组件、服务、指令或管道至少被引用一次(在@NgModule注释)。在 AOT 编译结束时,编译器会删除这些注释,之后还会删除未引用的内容。

Source https://www.softwarearchitekt.at/post/2017/07/27/the-angular-bundle-optimizer-under-the-hoods.aspx

也就是说,每个 Angular Material 组件都是一个模块,它为您提供了库的细粒度导入。

我不知道 PrimeNg,但从我快速搜索到的内容来看,正如您已经知道的那样,它似乎每个组件也有一个模块。

使用这两个库不应影响包大小或性能,但您应该意识到“外观和感觉”因 UI 库而异

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

我们可以在 Angular(2/4/5/6) 中使用多个库,因为它支持 TreeShaking 吗?不影响性能和构建尺寸 的相关文章

  • 如果替换路径中的最后一个元素,React Router v6 useNavigate() 不会导航

    我有一个具有以下功能的反应组件 const handleNavigate clientId gt console log clientId navigate dashboard clients clientId console log 显示
  • 您必须位于 angular-cli 项目中才能使用serve命令

    我正在尝试运行拖放示例dragula https github com valor software ng2 dragula 但是当我跑步时ng serve它抱怨 You have to be inside an angular cli p
  • Javascript:混合构造函数模式和揭示模块模式

    有什么方法可以让 Javascript 类扩展通过揭示模块模式创建的对象吗 我尝试了下面的代码 但是有没有办法实现同样的事情 sv MergeQuestionViewModel function this sv QuestionDetail
  • 用不同的颜色为 Google 热图着色

    我试图开发一个遵循 Google Map API 的热度 https developers google com maps documentation javascript examples layer heatmap https deve
  • 在每页上插入折叠标记 (wkhtmltopdf)

    我正在使用 wkhtmltopdf 0 12 2 1 创建发票等 我需要在 pdf 的每一页上显示折叠标记 如果内容大于一页 如何在每个页面上使用 javascript 重复它们 这是我的基本标记 div class marks div c
  • 如何在Angular2中正确使用依赖注入(DI)?

    我一直在试图弄清楚 DI 依赖注入在 Angular2 中是如何工作的 每次当我尝试将服务 或类注入我的组件时 我都会遇到很多问题 从不同的谷歌搜索文章中 我需要使用providers 在组件配置中 或者有时我需要使用 Inject 在我的
  • 使用 Observable 与 Immutable 进行变更检测

    所以我读了本文 http victorsavkin com post 110170125256 change detection in angular 2关于 Angular 2 变更检测 但读完之后我变得更加困惑 所以我开始阅读一些导致更
  • 通过 Javascript 将图像切割成碎片

    我正在创建一个简单的拼图游戏 为了做到这一点 我需要将我正在使用的图片切成 20 块 Javascript 有没有办法将一张图片切成 20 个相等的部分 并将它们保存为网页中的 20 个不同的对象 或者我只需要进入 Photoshop 自己
  • JSON对象的长度[重复]

    这个问题在这里已经有答案了 该函数生成一个包含 json 对象的数组 var estoque function unpack estoque tnm total estoque vl id tid st tnm tnm split tota
  • 使用 javascript 禁用按钮:FF 与 IE

    我有一排按钮 它们都会创建一个我想在新选项卡中打开的 pdf 文件 这样按钮页面就会保持在顶部 并且 pdf 会打开以进行打印 为了防止单击按钮两次 我禁用该按钮 如下所示 我使用 python
  • 如何在每个组件完成加载后在 Angular 2 中运行 jquery 函数

    我已经尝试了所有生命周期挂钩 但无法实现所需的结果 我需要的结果是触发一个函数 该函数在加载每个元素 组件 后初始化用于单个页面上不同元素的许多 jquery 插件 假设你有这个结构 主页 滑块 小部件 产品旋转器 ETC 这些元素中的每一
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • 将上部字符转换为下部字符,将下部字符转换为上部字符(反之亦然)[重复]

    这个问题在这里已经有答案了 我需要将某些字符串中的所有较低字符转换为较高字符 并将所有较高字符转换为较低字符 例如 var testString heLLoWorld 应该 HEllOwORLD 转换后 在不保存临时字符串的情况下实现此目的
  • 如何使用 Angular 2 修改 ng-bootstrap 轮播的 CSS

    最近 我尝试修改 ng bootstrap carousel 组件中的 carousel item 类 但是 我发现我需要在元数据中添加 encapsulation ViewEncapsulation None 使用此解决方案还会更改其他轮
  • 监听浏览器宽度以进行响应式网页设计?

    我正在努力使我的网站适合移动设备 我想知道浏览器窗口的大小 以便当它比 728px 窄时我可以执行某些操作 而当它大于 728px 时我可以执行其他操作 这必须考虑到调整 PC 上的窗口大小以及在手机中从纵向模式更改为横向模式 如何才能做到
  • React + Semantic-UI:在 UI MODAL 中使用表单

    在没有 React 的普通旧 Semantic UI 中 我已经能够毫无问题地将表单放入 Modal 中 使用 Semantic UI React 版本 我能够在模态中显示表单 但它并没有按照我期望的方式工作 例如 模态框显示后 模态框内的
  • 允许使用 grunt browserify 进行全局转换

    我已将 jQuery 添加为 html 文件中的脚本标记 并将其添加到package json与一起工作browserify shim如下 browserify transform browserify shim browserify sh
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • 如何使用引用该键的变量来获取对象键中的值?

    我有一个对象 我可以引用密钥a如下 var obj a A b B c C console log obj a return string A 我想通过使用变量引用对象键来获取值 如下所示 var name a console log ob
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma

随机推荐

  • 在 Button_Click 上围绕控件绘制边框

    当用户单击我的验证按钮时 在我的 C WinForm net 3 5 应用程序中 我想在某个控件为空时在其周围绘制边框 说一个名为 tbxLastName 的文本框我想我需要做这样的事情 gt ControlPaint DrawBorder
  • wicked_pdf 页脚不起作用

    我对 wicked pdf 页脚渲染没有什么问题 这是我的渲染方法 def invoice render pdf order number pdf footer html template admin orders invoice foot
  • 获取outlook中所有房间的列表

    我正在编写一些应用程序 我需要获取组织内的所有可用房间 与我们在 Outlook 中打开 添加房间 对话框时获得的列表相同 我假设当我们通过 Outlook 进行操作时 他会在某些交换服务器上工作 问题是有没有办法使用 Outlook 作为
  • 预设文件不允许导出对象

    我有一个我想要获取的轮播文件index js并建立block build js so my webpack config js is var config entry index js output path dirname filenam
  • iPhone UDP广播和响应

    我需要从 iPhone 发出 UDP 广播 然后监听具有超时期限的 UDP 响应 我找到了苹果的UDP回显示例 http developer apple com library mac samplecode UDPEcho Introduc
  • 如何在Delphi XE2中解析嵌套的JSON对象?

    我是 JSON 新手 我手头有这个项目 它要求我解析 JSON 并在 ListView 中显示它的一些内容 问题是我现在阅读的文档处理的是包含 JSON 数组的 JSON 对象 而我的案例涉及处理嵌套对象 简而言之 总结如下 我正在使用 D
  • 合并datagridview中的单元格

    有没有办法在winforms中合并 net的datagridview中的单元格 我想合并一行中的两个或多个单元格 您必须自己实现 OnPaint 事件 下面提供了一个示例 您还可以查看源网格 https github com jivanro
  • 数组中不存在属性“at”

    根据MDN 网络文档Array prototype at https developer mozilla org en US docs Web JavaScript Reference Global Objects Array at 是一个
  • 关闭并退出时崩溃

    我有一个 PySide 应用程序 在 QWidget 中托管 VLC MediaPlayer 实例 当通过 QMainWindow 的 close 事件或使用 QApplication quit 关闭应用程序时 UI 消失 然后我收到一个
  • 我的 addthis 工具箱 J​​avaScript 小部件不存在于移动设备上

    我正在使用 Ionic v1 并在 Chrome ionic 服务 和 View App ionic 上传 中进行测试 我将此脚本包含在我的index html中 并添加了https github com thisissoon angula
  • 如何在 iOS 中以编程方式重新启动 iPhone 应用程序

    如何在 iOS 中以编程方式重新启动 iPhone 应用程序 我找到这个方法http writeitstudios com david p 54 http writeitstudios com david p 54 但可能是一些简单的事情
  • 在材料 ui 中使用自定义输入自动完成不起作用

    我可以通过从列表中选择值来使用自动完成功能 现在我想在选择中添加一个新值 我尝试了多种选择 包括onChange但无法实施 如果用户输入内容并在文本框外部单击 则它应该将自由文本转换为标签 此外 允许用户继续从预定义列表 自由文本添加更多标
  • Android:客户端尚未准备好..等待进程上线

    我收到以下错误 每当我尝试启动该应用程序时 它就会崩溃 我已经使用模拟器和手机尝试了几次 但仍然无法正常工作 我在项目中使用 Firebase 身份验证和数据库 虽然没有报错 但是不知道对报错有没有影响 adb shell am start
  • 将表单设置为原始状态时消除字段错误

    我正在使用 angular js 版本 1 1 5 其中有 setPristine在表单控制器上 但此方法似乎并没有清除与字段相关的任何错误 下面的代码对我有用 但我不确定这是否是清除错误的正确方法 有什么建议吗 在我的控制器中 if sc
  • Android 2.2 Web 视图窗口在虚拟键盘出现时向上移动

    我正在 Android 上使用 Phonegap 开发一个应用程序 在 OS 2 1 上一切正常 但在 OS 2 2 上 当我们单击任何输入类型文本字段时 键盘会出现 整个窗口移动到向上侧 输入类型字段变得不可见 谁能告诉我到底是什么问题并
  • 找不到“FBSDKLoginKit/FBSDKLoginKit.h”文件(适用于 iOS v4.2 和 Xcode 7 的 Facebook SDK)

    我遵循中的所有步骤本教程 http www brianjcoleman com tutorial how to use login in facebook sdk 4 0 for swift and or Facebook SDK 文档 h
  • moment.js 获取昨天从午夜到午夜的时间范围

    如何获取昨天从午夜到午夜的时间范围 Example 昨天 2015 年 7 月 22 日 Result 2015年7月22日 00 00 00 上午 2015年7月22日 23 59 59 下午 日期格式并不重要 这只是一个示例 momen
  • 移动录音的方向问题

    当我使用 FFMPEG 转换 iPhone 4 中的 mov 文件和 Android 中的 3gp 文件时 我需要将视频旋转 90 度 但 iPhone 4s 需要 180 度 有没有什么办法解决这一问题 我不记得 Android 如何处理
  • 符号数学工具箱在计算 NaN 时遇到除零错误

    我刚刚更新到 Matlab 2014a 终于 我有大量使用符号数学工具箱的脚本 这些脚本过去工作正常 但现在遇到以下错误 Error using mupadmex Error in MuPAD command Division by zer
  • 我们可以在 Angular(2/4/5/6) 中使用多个库,因为它支持 TreeShaking 吗?不影响性能和构建尺寸

    我已经阅读了这篇文章 https www reddit com r Angular2 comments 6a678s primeng vs material2 https www reddit com r Angular2 comments