通过 SystemJS 加载 Zurb Foundation 站点

Posted

技术标签:

【中文标题】通过 SystemJS 加载 Zurb Foundation 站点【英文标题】:Loading Zurb Foundation Sites via SystemJS 【发布时间】:2016-08-20 12:49:18 【问题描述】:

当通过 SystemJS 导入 Zurb Foundation Sites javascript 插件以正确初始化时,我们遇到了一些麻烦。

我们已经通过 JSPM 安装了 jQuery 和 Foundation:

jspm install jquery    
jspm install npm:foundation-sites

然后我们像这样初始化应用程序:

import jQuery from 'jquery';
import foundation from 'foundation-sites';
jQuery(document).foundation();

例如,当我们尝试让Sticky 工作时,会添加 CSS 类(通过 JS)。但是脚本不起作用,我们没有收到任何错误。

当我们通过 JSPM 捆绑应用程序时,脚本会正常工作。所以感觉我们遇到了一些依赖项未加载的问题。我们已经尝试弄清楚如何在 SystemJS 中使用shim dependencies,但没有任何运气。

也许有人已经让这个工作了?

【问题讨论】:

这里有同样的问题。我也在使用 SystemJS。我将foundation.min.js 作为基础添加到我的SystemJS 加载器中。所以我希望将它作为基础导入 TypeScript。我怎样才能清楚地知道模块来自哪里,因为它让我觉得这不知何故不清楚。 【参考方案1】:

我尝试了很多版本,现在可以使用的最后一个看起来像这样

import "jquery";
import "foundation-sites";

调用基础而不是像jQuery(document).foundation(); 的问题一样工作

【讨论】:

我可以在 10 月份这样做吗?如果我正确完成了上述过程,我会将导入添加到我的组件中,那么在 html 中我应该在哪里调用 jQuery(document).foundation();?? 你可以每个月做一次你想要的 o_O 在你确定 DOM 完全加载的地方应该调用基础的 init。因此,例如在 $(document).ready() 或 angular ngOnInit() 中。取决于您页面上的 JavaScript 是如何工作的。 你能举个例子吗?

以上是关于通过 SystemJS 加载 Zurb Foundation 站点的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SystemJS 加载命名导出

赛普拉斯与SystemJS

使用 SystemJS/jspm 在生产中加载异步、es5 模块

如何使用 systemjs 在最小的 Angular 2 应用程序中加载 RxJS?

在生产中使用 systemjs-angular-loader.js - 给出 404

提前编译时出现 SystemJS 错误(NgZone 没有提供程序)