为什么 Angular 构建会创建带有“es5”和“es2015”的文件,而不是“es6”(或者根本没有后缀)?

2024-02-09

我最近下载了Angular CLI(@角度/cli 9.0.1)。然后我继续创建一个新的应用程序,以便我可以创建一个新的 Angular 元素,将其打包并在另一个应用程序中使用它。

在关注了几篇博客之后,我遇到的每个博客的最后一步都讨论了从放在 dist/ 文件夹下的生成文件创建单个 JS 文件。例如:https://blog.bitsrc.io/using-angular-elements-why-and-how-part-1-35f7fd4f0457 https://blog.bitsrc.io/using-angular-elements-why-and-how-part-1-35f7fd4f0457

然后使用 cat 命令,我们连接运行时.js, polyfills.js, 脚本.js, and main.js将 dist/angular-app 文件夹中的文件复制到预览文件夹内的 Angular app.js 文件中。

Running ng build angular-app --prod --output-hashing=none相反,似乎会生成名为:

  • main-es5.js
  • main-es2015.js
  • polyfills-es5.js
  • polyfills-es2015.js
  • 运行时-es5.js
  • 运行时-es2015.js

我搜索了每一个包含这些条款的文件es5 and es2015并将其更改为es6,但它仍然产生相同的es5 and es2015文件名。我在这里做错了什么?


Angular 不会将 JavaScript 文件捆绑到单个文件中。

您可以添加构建步骤将文件连接在一起。

concat-build.js:

var concat = require('concat');
const es5 = ['./dist/app/runtime-es5.js','./dist/app/polyfills-es5.js','./dist/app/main-es5.js'];
const es2015= ['./dist/app/runtime-es2015.js','./dist/app/polyfills-es2015.js','./dist/app/main-es2015.js'];
concat(es5, './dist/app/elements-es5.js');
concat(es2015, './dist/app/elements-es2015.js');

包.json:

"scripts": {
   "concat": "node ./concat-builds.js",
   "build": "ng build --prod --output-hashing=none && npm run concat"
}

不要对 ES5 和 ES2015 版本感到困惑,因为 Angular 团队根据模块的加载方式(不是专门针对 JavaScript 版本)来拆分捆绑包。

支持模块的 Web 浏览器将加载 ES2015 版本而不是 ES5 版本,但是both建议放在 Html 中。

如果你只想要一个single要使用的文件,那么您将被迫使用旧的 ES5 版本,并且应按如下方式提供:

<script src="elements-es5.js">

建议按如下方式提供两个文件,浏览器将加载适当的版本:

<script src="elements-es5.js" nomodule defer>
<script src="elements-es2015.js" type="module">

请注意:

较旧的浏览器会忽略type="module"版本,较新的浏览器将skip the nomodule版本。

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

为什么 Angular 构建会创建带有“es5”和“es2015”的文件,而不是“es6”(或者根本没有后缀)? 的相关文章

随机推荐

  • C++ 中的“auto 运算符”是什么?

    Clang https en wikipedia org wiki Clang和 Visual Studio 编译器 但不是GCC https en wikipedia org wiki GNU Compiler Collection 允许
  • 应用模板上选择属性的 xslt 处理

    我有一个如下所示的 XSLT 并将该 xslt 应用于输入 xml 粘贴在下面 它工作正常 除了需要澄清的一件事 这是输入 xml
  • 这是 C# 4 中的协方差错误吗?

    在下面的代码中 我希望能够隐式转换elements to baseElements因为TBase可以隐式转换为IBase public interface IBase public interface IDerived IBase publ
  • 如何使用/绕过 Gmail 的 SMTP 出站发送限制?

    我正在使用我的 Gmail Apps for Domain 帐户在 Rails 应用程序中发送电子邮件以获取标准自动电子邮件 用户注册 忘记密码 通知管理员新评论等 但我担心每天设置的 500 封电子邮件限制由谷歌 谷歌建议克服该限制的一种
  • Python中的R函数rep()(复制列表/向量的元素)

    R 函数rep 复制向量的每个元素 gt rep c A B times 2 1 A B A B 这就像 Python 中的列表乘法 gt gt gt A B 2 A B A B 但使用rep R函数 还可以指定向量每个元素的重复次数 gt
  • OpenCV 的 unactorPoints 是否也可以纠正它们?

    我试图通过使用带有两个摄像头的 OpenCV 2 3 1 来确定两个对象之间的距离 但无法计算对象的 objectPoints OCV 2 3 1 MSVC Windows 7 我认为这是因为在计算视差之前没有对图像点进行校正 一 我首先要
  • 从 Heroku 中的 python 应用程序运行 java 子进程

    我是 Heroku 新手 我的 Flask Web 应用程序的后端逻辑实际上正在运行一个 Java 子进程 subprocess call 来获取一些辅助数据 我知道这样做是一件坏事 在部署时 Heroku 按预期工作 并从requirem
  • 在tinymce文本编辑器数据中的字符串末尾添加句点/点

    目前我的数据保存在 mysql 数据库中 如下所示 来自tinymce textarea 在 html 中显示数据时 我需要在字符串末尾附加一个句点或点 下面是示例 数据存储在数据库中 strong Hello World strong 当
  • 评估 XML 中的 XPath 表达式

    使用Add on SDK创建Firefox插件时 如何处理XML文件 使用 XPath 评估会引发错误 XPathResult 未定义 我正在尝试处理用这个代码 var iterator xmlDoc evaluate stream xml
  • 覆盖 left_join dplyr 来更新数据

    我的问题与此类似 但是我在 LHS 中有其他应保留的列https stackoverflow com a 35642948 9285732 https stackoverflow com a 35642948 9285732 y是一个子集x
  • 角度套接字 io 未定义

    这里有一个建议 https github com btford angular socket io issues 127 https github com btford angular socket io issues 127 确保您有 s
  • 如何使用缓冲区溢出攻击替换堆栈上的返回地址

    对于家庭作业 我正在执行一系列缓冲区溢出攻击 有人给了我一个要反汇编的程序 这是一个不正确调用的函数的 C 源代码gets 以及我应该强制程序调用的其他几个函数的源代码 对于其中一项任务 我必须 注入一些改变值的代码 然后 返回上述方法之一
  • 使用哪个 Java 库来录制连接的摄像机的视频?

    您可能认为有一个简单的解决方案 但没有 我的应用程序需要从 USB 火线 或任何连接 连接的相机捕获流 结果将是一个类似的文件输出 flv 我希望能够检测所有连接的摄像机并选择使用哪一台 同时使用一台或多台 gt 一个或多个输出文件 应用程
  • 不带绑定的验证规则

    我想在文本框上使用 ValidationRules 及其 UI 效果 而不实际将任何内容绑定到文本框 我想将文本框用于某些不绑定到任何内容但需要在焦点丢失后使用 ValidationRules 验证输入的输入 能做到吗
  • 如何创建仅可由特定类使用的构造函数。 (C++ Friend 相当于 C# 中的内容)

    据我所知 在C 中 不象C 中那样支持 friend 关键字 是否有另一种方法来设计一个类 可以实现相同的最终结果 而无需诉诸不可用的 friend 关键字 对于那些还不知道的人来说 Friend 关键字允许程序员指定类 X 的成员只能由类
  • 使用方法在 ArrayList 中循环

    在很多帮助下 我开发了一种方法 可以制作字谜词 然后将它们添加到ArrayList public void f String s String anagram ArrayList
  • 删除崩溃的 Innodb 表

    我无法删除 删除崩溃的 Innodb 表 我收到以下错误 错误 1051 42S02 未知表 帐户 如果我想创建它 我会收到以下错误 错误 1005 HY000 无法创建表 accounts errno 1 我的服务器在意外断电后会发生这种
  • 数 45 秒,暂停 20 秒,然后用不同的标题重复

    在尝试限制电池使用时 我不需要有繁忙的循环 所以我不确定如何解决这个问题 如果我有一个程序 允许某人唱歌 45 秒 然后他们暂停 20 秒喝一杯 然后重复唱一定数量的歌曲 我的计时器是在取消一次迭代并开始另一次迭代后 计时器无法正常工作 h
  • 使用asp.net中的web api通过http进行身份验证

    我观看并浏览了很多有关保护 ASP NET Web API 的页面 包括 http weblogs asp net jgalloway archive 2012 03 23 asp net web api screencast series
  • 为什么 Angular 构建会创建带有“es5”和“es2015”的文件,而不是“es6”(或者根本没有后缀)?

    我最近下载了Angular CLI 角度 cli 9 0 1 然后我继续创建一个新的应用程序 以便我可以创建一个新的 Angular 元素 将其打包并在另一个应用程序中使用它 在关注了几篇博客之后 我遇到的每个博客的最后一步都讨论了从放在