在没有 Traceur 的情况下在生产中使用 SystemJS

Posted

技术标签:

【中文标题】在没有 Traceur 的情况下在生产中使用 SystemJS【英文标题】:Using SystemJS in production without Traceur 【发布时间】: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? 【参考方案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。 :)

以上是关于在没有 Traceur 的情况下在生产中使用 SystemJS的主要内容,如果未能解决你的问题,请参考以下文章

在生产中禁用 displayName

由于反向代理,无法在生产中获取客户端的 IP

SpringBoot 在生产中没有找到错误模板,尽管它在 Netbeans 中找到了它

Nextjs / nx Nrwl / Material UI 样式在生产中的初始渲染样式问题。有没有人遇到过这个问题?

Rails 4:为啥在生产中没有加载字体?

PHP DOMNodeList错误:在开发人员中有效,但在生产中无效