问题标签 [systemjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3263 浏览

typescript - 替换打字稿包上的“要求”

我有一个主要的 TypeScript 文件,其中导入到另一个文件,如下所示:

我使用tsproject将我的 ts 文件编译成一个包,然后在我的 html 页面中使用 System JS,如下所示:

但在我的包中,所有文件导入都被替换为 commonjs 要求语句,如下所示:

虽然不再存在app.run文件,因为所有内容都捆绑在一起。如何在没有外部文件导入的情况下正确捆绑 ts?

0 投票
1 回答
1502 浏览

aurelia - 升级到 jspm beta 后找不到 aurelia-bootstrapper

我已经升级到最新的 JSPM

jspm_modules并通过删除文件夹并运行重新安装所有软件包

现在,当我开始我的 Aurelia 项目时,我得到以下输出

我试过删除我的config.js地图配置并让 jspm 重建它

但是,我仍然遇到同样的错误。

0 投票
1 回答
330 浏览

javascript - 随机失败的聚合物网组件测试

又一次尝试将 Polymer 与 ES6 类结合起来。

它几乎可以工作,除了 wct 测试在具有导入的 es6 类(通过 systemjs)的聚合物组件上随机失败。据我了解,这是因为包含类定义的脚本在 mocha 执行测试后被加载。聚合物组件由两部分组成 - html 和 javascript(将后者编译为 es5),

html:

javascript:

这似乎在浏览器中工作得相当稳定,至少在从 localhost 加载时是这样。但唯一“修复”测试的是延迟 Polymer 的就绪调用:

这意味着在某些时候,所有这些都将在浏览器中失败(可能不是从本地主机提供服务时)。

我正在考虑以某种方式获得系统注册的承诺并制作类似于 HTMLImports.whenDocumentReady 的东西,但我仍然不清楚这一切是如何工作的。

因此,非常感谢任何想法和建议!

示例应用程序在 github 上:

为了使其成功多于失败 - 在 wct.conf.js 中将 verbose 更改为 true。

更新类型:如何导入系统 js SFX 库

0 投票
1 回答
503 浏览

javascript - 使用 JSPM 捆绑 Angular2 应用程序

我正在尝试为 Angular2 应用程序创建一个包。这是我的 jspm 配置文件:https ://gist.github.com/ivanbatic/fa4f2d76b44e0204f21d

当我启动应用程序时,虽然它启动了 390 个 HTTP 请求以呈现“Hello World”字符串,但它仍然有效。

所以...我正在尝试使用jspm bundle app build.js --inject'

之后,我收到以下错误: js 错误

关于如何解决这些问题的任何建议?

0 投票
1 回答
827 浏览

javascript - 如何导入系统js自解压库

我已经按照https://github.com/systemjs/builder#example---common-bundles中的描述将几个 js 文件编译成一个 SFX (虽然使用 '+' 而不是 '&',但这部分似乎是在职的):

但是当我尝试导入生成的 js 文件时,我找不到任何库:

非常感谢任何帮助!

更新:

到目前为止,我发现的唯一解决方案是使用 sfxGlobalName 并创建“特殊” js 文件,其中包含对要包含的所有其他文件的引用,然后将其包含到 html 中:

all.js:

索引.html:

然后可以像访问导入的对象

吞咽:

有没有更好的办法?

示例应用程序在 github 上:

0 投票
1 回答
789 浏览

systemjs - 从 requirejs 迁移到 systemjs:管理路径

我正在迁移到 systemjs,主要是因为它支持模块,这使得迁移到 ES6 更简单。

systemjs CSS 插件允许像这样优雅的导入:

但这是异步加载的,因此加载需要在服务器生成页面的其余部分之前加载的 CSS 是不切实际的。所以我必须恢复到繁琐的包 URL。(当版本发生变化时会中断——而且似乎通常很hacky——因为JSPM应该管理这些细节?)

有最佳实践吗?其实systemjs的实际使用有什么有用的例子吗?

0 投票
1 回答
2065 浏览

angular - Angular2,用于凉亭组件的 SystemJS 路径

我创建了一个示例 Angular2 应用程序,其中我的一个模块使用了外部库(rest),如下所示:

我用过

将 rest.d.ts 放在“typings”目录中,并使用了

获取运行时版本(这在任何地方都没有解释。我想我必须做这样的事情?)

我已经设置了我的 gulp 脚本以将两个目录从 bower_components (“rest”及其依赖项“when”)复制到 dist/lib

该应用程序本身编译得很好,但在浏览器中,它无法解决其余/何时模块的依赖关系。

我已经添加了

到我的 index.html 文件,我可能会继续将文件添加到该列表中,但不知何故,这感觉......错了。

当然不可能,我必须在我的 index.html 中列出每个包的内部文件结构?我看到“when”模块假设在“./lib”中找到自己的依赖项,其中“rest”具有完全不同的结构。

所以,我的问题是:

  • 在如何将通过 bower(或 npm)管理的 javascript 包导入 Angular2 的客户端时,我误解了什么?

  • 我真的需要列出 System.paths 中每个模块的每个文件以使其工作吗?

0 投票
1 回答
381 浏览

javascript - 如何使用 jspm 和 systemjs 加载 Emberjs 2.0

我尝试使用 Ember 2.0 并有下一个文件 config.js

应用程序.js

和 index.html

加载后我有下一个错误

如果没有 systemjs 和 jspm 的加载脚本总是有效。但想使用 jspm 和 systemjs :) 在我使用 ember 1.13 并且配置工作之前。我认为配置 jquery 有问题

0 投票
3 回答
3307 浏览

javascript - System.import 承诺链

我偶然发现了一些与此类似的片段:

它是回调地狱的替代品 - 承诺地狱吗?可以将sequential System.imports 展平以使用promise 链接,还是可能存在问题?

0 投票
1 回答
1315 浏览

jquery - 如何使用 systemjs 加载 CDN 模块但在 Browserify 中排除它们

我想利用 nodejs 开发遗留网站的前端部分(后端保留在 PHP 中)。传统上,index.html将加载

  • jquery来自 CDN
  • 来自其他 CDN 的一些第三方库。
  • 一些应用程序脚本
  • 如果第三方库依赖,jquery则加载后jquery

index.html示例:

1)我想使用从 CDNsystemjs加载:jquery

2) 我想将所有的appplicatif脚本(不包括来自 CDN 的脚本)捆绑到一个文件中 + 用browserify/丑化它们gulp

问题

1)我该如何配置system.js,以便它以正确的顺序加载第三方库index.html:即 jquery必须先加载thirdparty.depend.onjquery.js

2) 如何捆绑来自 CDN的所有 appplicatif 脚本 ( customer.js, profile.js, main.js) 。require('thirdparty.depend.onjquery.js')

我认为用例是安静的标准,但我没有找到任何示例项目。