【问题标题】:Using SystemJS in production without Traceur在没有 Traceur 的情况下在生产中使用 SystemJS
【发布时间】:2016-06-28 01:20:25
【问题描述】:

我想根据需要使用 SystemJS 动态导入 AMD 模块以及 System.import() 模块。当然,我可以包含 <script src="system.js"></script>,但我收到了一个错误,即 Traceur 未定义。我故意想要包含 Traceur 或任何其他依赖项,以将请求保持在最低限度。是否有允许在一个半轻量级脚本中导入 AMD 和 System.import 调用的 SystemJS 版本?

【问题讨论】:

  • 答案在哪里? Chrome 内置了大部分 es6,除了那个讨厌的 import 语句。
  • 我在设置 System.transpiler?

标签: javascript systemjs


【解决方案1】:

jspm 中的 transpiler 选项和(假设它刚刚通过)systemjs 可以设置为 false,尽管目前[1] SystemJS 对 Traceur 有硬编码依赖检测到 ES6 格式的模块时的转译器。

我提到这一点的原因是,我相信您的问题不是由正在使用的 AMD 模块引起的,而是您使用的模块(或它们使用的模块)中的某些依赖关系实际上是,以 ES6 格式编写。检查您的浏览器控制台以查看显示的错误消息。

[1]Link to SystemJS sourcecode which handles ES6 module format.

【讨论】:

    【解决方案2】:

    来自documentation

    转译器

    类型:String 默认值:traceur

    表示必须解析为 Traceur、Babel 或 TypeScript 的 System.import 的模块名称。

    您需要定义以上三个之一,它不可能禁用此功能。

    【讨论】:

    • 可以设置transpiler to false,这仍然不允许通过System.import()调用导入模块。
    • 谢谢。我已设置为 false,并且不再要求 traceur。 :)
    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    相关资源
    最近更新 更多