首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.import()和import()之间的区别?

System.import()和import()之间的区别?
EN

Stack Overflow用户
提问于 2017-02-12 20:03:12
回答 1查看 21.8K关注 0票数 21

webpack 1博士声明中,webpack 2将使用System.import()进行动态要求:

幸运的是,正在编写一个System.import). API“JavaScript”规范来处理动态用例:System.load (或System.load)。此API将是与上述require变体相同的本地API。

在这段时间里,网络上到处都是使用这个示例System.import()

释放webpack前2,作者决定将System.import()改为import()

添加import()作为代码拆分结构。在可能的情况下,应该使用它而不是System.importSystem.import将在webpack 2发行版中被废弃( webpack 3中删除),因为它的行为是不正确的,根据规范

这个import()是基于tc39 39/建议书-动态-导入规范的,您可以读到更多为什么他们做出这种更改的这里

System.import() import()**?**之间的区别,能有人解释吗?

尽管名称不同,但用法看起来是一样的:

代码语言:javascript
复制
import(modulePath)
  .then(module => module.default())
  .catch(/* ... */);

System.import(modulePath)
  .then(module => module.default())
  .catch(/* ... */);

但是在weback 2文档中是:"System.import()行为根据规范是不正确的“,因此它表明System.import()import()之间存在差异。

EN

回答 1

Stack Overflow用户

发布于 2017-11-13 19:10:10

下面是你要找的东西:tc39进口提案

实际功能 Loader集合的草稿在不同的时候都有名为System.import()或System.loader.import()或类似的实际函数(不仅仅是类似于函数的语法形式),这些功能完成了相同的用例。 正如规范编辑器之前所指出的,这里最大的问题是如何解释这些函数的说明参数。因为这些只是函数,在整个领域中是相同的,并且每个脚本或模块都不改变,所以函数必须对其参数进行相同的解释,无论从何处调用它。(除非实现了一些真正奇怪的东西,如堆栈检查。)因此,这可能会遇到与上面的importModule函数的文档基URL问题类似的问题,其中相关模块说明符成为一个错误场,并且不匹配任何附近的导入声明。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42192586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档