仍然需要带有使用JavaScript ES6模块和类的应用程序的模块加载器吗?

JL格兰德利

如果您使用ES6模块和类对应用程序进行编码,是否有必要使用模块加载器框架,或者最好的方法是仅使用构建工具将所有代码连接到一个或多个文件中,并使用正常的脚本标签?

苏贝

是的。沿线某处的某人必须加载该模块。

我认为您是在提前编译模块而不是分别加载它们。Webpack是一个模块加载器,它输出一个文件供浏览器稍后使用,而SystemAPI和requirejs等则加载许多单独的文件。

双方都有性能因素,特别是更长的构建时间(预编译时)与更长的加载时间(带有多个文件)。

Webpack,Browserify和大多数其他模块加载器(SystemAPI的明显例外)使您可以为某些文件类型定义一些加载器,并在编译过程中自动编译(S)CSS或模板,以及运行其他工具来丑化或混淆您的代码。ES6 SystemAPI不提供这些功能,但比大多数功能更强大。

这归结为两个权衡:

  1. 支持非JS模块(样式,模板)与构建时间
  2. 单个请求和更长的构建与许多请求和短/无构建

为您的用户(高带宽与移动设备),环境(如果您有两个十几岁的CI代理,他们在乎构建是否需要额外的3s?)和堆栈(如果您有很多模板文件,请对其进行AOT评估)进行评估可能很重要)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仍然需要带有使用JavaScript ES6模块和类的应用程序的模块加载器吗?

来自分类Dev

我需要带有ReaderWriterLockSlim的MemoryBarrier吗?

来自分类Dev

需要带有计数器的按键按钮

来自分类Dev

需要带有计数器的按键按钮

来自分类Dev

需要带有Node和jQuery的JS

来自分类Dev

需要带有纯抽象类类型参数的子句吗?

来自分类Dev

我需要带有C11的GCC的-pedantic标志吗?

来自分类常见问题

我需要带有异步Web框架的celery吗?

来自分类Dev

需要带有TextTrimming和MaxLines的WPF TextBlock或TextBox

来自分类Dev

在Angular应用程序中使用ES6模块库和意外的令牌“导出”错误

来自分类Dev

了解有关Angular2 Web应用程序的ES6模块

来自分类Dev

在Webpack中将文件加载器与es6模块和打字稿一起使用

来自分类Dev

通过导入ES6模块来加载和使用旧版JS模块(例如IIFE)

来自分类Dev

ES6模块在Node / Express路由应用程序中如何与app.get一起使用?

来自分类Dev

ES6模块加载器不会加载使用TypeScript编写的Angular Controller

来自分类Dev

我需要带graphql的猫鼬吗?

来自分类Dev

我需要带graphql的猫鼬吗?

来自分类Dev

SQL需要带子串和charindex的建议

来自分类Dev

未捕获的错误:Bootstrap的JavaScript需要带有requirejs的jQuery

来自分类Dev

在React JS中需要带有变量的文件

来自分类Dev

无法使用Webpack加载ES6模块

来自分类Dev

如何编写NodeJS和Aurelia可以使用的ES6类\模块

来自分类Dev

使用jQuery> = 2的Browserify产生“ jQuery需要带有文档的窗口”

来自分类Dev

如何使用函数、类和 req.pipe 模块化 Express 应用程序?

来自分类Dev

使用ES6模块导出/导入单类方法?

来自分类Dev

应用程序无法使用模块的模块

来自分类Dev

将调解器模式与webpack和ES6模块一起使用导入导出

来自分类Dev

导入类并使用带有Babel Transpiler的es6模块调用静态方法

来自分类Dev

使用ES6模块和Browserify的Rails资产管道

Related 相关文章

  1. 1

    仍然需要带有使用JavaScript ES6模块和类的应用程序的模块加载器吗?

  2. 2

    我需要带有ReaderWriterLockSlim的MemoryBarrier吗?

  3. 3

    需要带有计数器的按键按钮

  4. 4

    需要带有计数器的按键按钮

  5. 5

    需要带有Node和jQuery的JS

  6. 6

    需要带有纯抽象类类型参数的子句吗?

  7. 7

    我需要带有C11的GCC的-pedantic标志吗?

  8. 8

    我需要带有异步Web框架的celery吗?

  9. 9

    需要带有TextTrimming和MaxLines的WPF TextBlock或TextBox

  10. 10

    在Angular应用程序中使用ES6模块库和意外的令牌“导出”错误

  11. 11

    了解有关Angular2 Web应用程序的ES6模块

  12. 12

    在Webpack中将文件加载器与es6模块和打字稿一起使用

  13. 13

    通过导入ES6模块来加载和使用旧版JS模块(例如IIFE)

  14. 14

    ES6模块在Node / Express路由应用程序中如何与app.get一起使用?

  15. 15

    ES6模块加载器不会加载使用TypeScript编写的Angular Controller

  16. 16

    我需要带graphql的猫鼬吗?

  17. 17

    我需要带graphql的猫鼬吗?

  18. 18

    SQL需要带子串和charindex的建议

  19. 19

    未捕获的错误:Bootstrap的JavaScript需要带有requirejs的jQuery

  20. 20

    在React JS中需要带有变量的文件

  21. 21

    无法使用Webpack加载ES6模块

  22. 22

    如何编写NodeJS和Aurelia可以使用的ES6类\模块

  23. 23

    使用jQuery> = 2的Browserify产生“ jQuery需要带有文档的窗口”

  24. 24

    如何使用函数、类和 req.pipe 模块化 Express 应用程序?

  25. 25

    使用ES6模块导出/导入单类方法?

  26. 26

    应用程序无法使用模块的模块

  27. 27

    将调解器模式与webpack和ES6模块一起使用导入导出

  28. 28

    导入类并使用带有Babel Transpiler的es6模块调用静态方法

  29. 29

    使用ES6模块和Browserify的Rails资产管道

热门标签

归档