问题标签 [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 投票
2 回答
1919 浏览

typescript - 如何测试 Mocha & Chai + TypeScript + SystemJS + JSPM + Angular + Three.js

我正在开发一个基于网络的 3D 游戏。我用TypeScript完全设置了我的项目。

我使用Angular设置了所有路由,并且我使用Three.js作为我的 3D 引擎。

最后,我有Mocha + Chai组合来使用名为typescript-require的特定插件来测试我的 TypeScript 。

我使用Systemjs作为我的JSPM包的导入器。

所以要设置阶段:(
出于示例目的,文件被剥离

Systemjs/JSPM 文件:jspmconfig.js

节点文件:package.json

控制器文件QuestDetailCtrl.ts::

注意 在我的应用程序中早一点的地方我已经导入了 Three.js,因此它在我的控制器中可用(这也可以正确编译为 ES5 并在浏览器中工作)。

摩卡测试文件QuestDetailCtrl.spec.ts

在最后一个文件QuestDetailCtrl.spec.ts中,我初始化了我的控制器(TypeScript 类)的一个新实例。

因为 Mocha 不知道 Three.js,所以这个测试在初始化我的控制器实例时失败了。

所以我的问题变成了:

我将如何在我的测试中模拟/导入 Three.js(或任何其他第三方库),以便 Mocha 知道它并能够测试/初始化它?

我想当我开始测试时,类似的情况也适用于 Angular,因此非常感谢您提供解决方案!

我已经遇到了解决方案,可以将数据import System from 'systemjs'设置metathree.js库中进行设置global系统的变量,但我无法让它工作。

谢谢!

0 投票
2 回答
1542 浏览

angularjs - 在 gulp 任务之间传递数据而不写入磁盘

我正在尝试注释和缩小 systemjs 角度项目。Systemjs 带有一个构建功能,但它不是“gulp-aware”。可以向构建器传递一个选项来缩小,但 ng-annotate 没有一个选项,所以我需要 gulp 来代替我做这两个。

我怎样才能将以上内容与

我可以将第一个任务输出到一个文件,然后再.src输入,但这不是最好的方法吗?

0 投票
1 回答
466 浏览

javascript - jspm 多应用,通用本地模块

我是 jspm 的新手,我正在尝试评估 JSPM 作为我当前使用 requirejs 的应用程序的替代品。

jspm 如何处理多个模块/包?例如:

上面的 config.js 文件包含 mycustomlib 所需的所有依赖项。注意,mycustomlib 没有发布到 npm,也不会在 github 上运行。这将是我的仓库中的私人自定义库。

现在说我有几个应用程序使用 mycustomlib 但有自己的 config.js,因为它们也有其他依赖项。

我应该如何确保 myapp1 和 myapp2 也可以使用 mycustomlib 中的 config.js,以便他们可以使用 mycustomlib 及其依赖项?

在 requirejs 方法中,我将 mycustomlib/config.js 包含在 index.html 中,然后 myapp1/myapp2 必须包含他们自己的 main.js,其中包含 requirejs.config({....}); requirejs 将合并配置。

我想这归结为,使用本地包/模块的推荐方法是什么?

0 投票
1 回答
498 浏览

ecmascript-6 - 使用 Webpack 和 System 未解决的节点模块依赖关系

我的代码中有以下ES6导入以从node_modules文件夹中导入项目依赖项:

通过使用这个 webpack 配置,一切都按预期工作:

我最终得到一个包含已自动添加的 react 依赖项的捆绑文件。

但是,如果我将 babel 配置为用于modules: 'system'将导入输出为System.register

然后捆绑的文件不再包含反应依赖项,我必须systemjs在通过 webpack 后将库附加到编译的文件中。

我们应该如何使用 来处理这个配置webpack?为什么不能像编译时那样webpack捆绑 react 依赖项?systemcommonjs

PS:我特别要求使用webpack, not systemjs-builderorjspm

0 投票
1 回答
1399 浏览

typescript - VS2015 + TypeScript + Cordova + Angular2 + SystemJS

我在systemJS加载外部模块时遇到问题。我为 VS2015 创建了一个小示例项目。你可以在这里下载代码https://github.com/dbiele/TypeScript-Cordova-SystemJS

当我在 Ripple 或 BrowserSync 中构建项目并查看时,我收到以下错误:xhr_proxy. 看起来System正在寻找animate.jsregistry.jspm.io 上的外部文件,而应该在localhost.

有什么想法吗?GitHub 中的代码非常基础。注意:我认为这不是 Cordova 问题,因为我在浏览器中运行并产生波纹。

在此处输入图像描述

0 投票
1 回答
172 浏览

typescript - 从 systemjs 解决 ts.d 的问题

我正在使用 jspm 并安装了一个包。我已经检查了 package.json 是否定义了“main”和“typings”,因为我已经安装了 typescript 1.6,我希望能够在设计时导入类型,并在运行时根据https://github.com/Microsoft/导入 javascript TypeScript/wiki/Typings-for-npm-packages

奇怪的是这不起作用。我找不到模块'theModule'

但如果我做一个相对路径它工作正常

我已经尝试了我能想到的一切,但我似乎无法让它发挥作用。知道我可能做错了什么吗?

0 投票
1 回答
509 浏览

angular-material - 如何在 JSPM / SystemJS 中禁用 CSS 导入

我的问题是当我有不同的管道(Gulp + SASS)时,JSPM / SystemJS 手动插入 CSS 依赖项(即Angular Material 的CSS)。

如何告诉 JSPM 不导入 CSS 文件或以任何方式解释 CSS 依赖项?我只发现了这个讨论 - https://github.com/jspm/jspm-cli/issues/791 - 但它根本没有帮助我。

0 投票
1 回答
509 浏览

visual-studio-2015 - VS2015 + Cordova + SystemJS + 安全限制错误:0x800c001c

Unhandled exception 0x800c001c当我为 Windows Phone 8.1 和 Windows Phone 10 调试我的 Cordova 项目时,我得到了一个问题。问题是document.writeSystem.js.

我了解winstore-jscompat.js 链接用于解决此问题,并且该<script src="...元素位于索引 HTML 中。但是,它似乎并没有解决 Windows Phone 的动态内容问题。

在此处输入图像描述

当我查看 dom 时,我可以看到winstore-jscompat.js它是由动态添加的,platformOverrides.js并且位于调用 system.js 之前。

在此处输入图像描述

项目代码可以在这里下载https://github.com/dbiele/TypeScript-Cordova-SystemJS

有什么想法吗?不确定这是否是我的构建机器的问题。注意:使用模拟器和物理设备时会出现问题。

0 投票
2 回答
1168 浏览

reactjs - 使用 es6 + jspm + systemjs + reactJS 进行玩笑测试

我试图弄清楚如何在我的 reactJS ES6 应用程序中进行单元测试。我的应用程序已经在使用 es6 模块系统,使用 jspm/babel 转换为 systemJs。

我发现 babel-jest 作为预处理器,但即使使用它,我也无法运行我的测试,因为 jest 找不到 SystemJs。(“系统未定义”错误显示在控制台中)

在浏览器中,如 jspm 文档中所述,SystemJs 是全局加载的。我想我应该在我的预处理器中加载 SystemJs,但是如何使 systemJs 可用于在我的测试中加载其他模块?

提前致谢

0 投票
8 回答
11387 浏览

typescript - momentJS 上的 Typescript 模块系统行为异常

我正在尝试使用 typescript 中的 momentJs:根据我用来编译 typescript 的模块系统,我发现了关于如何使用 momentJs 的不同行为。使用commonJs编译 typescript 时,一切都按预期工作,我可以按照 momentJs 文档进行操作:

如果我在导入“时刻”时使用“系统”作为打字稿模块系统,我将被迫这样做

我找到了一种解决方法,无论使用什么打字稿模块系统,它们都可以工作

我不喜欢这样,我想了解它为什么会这样。难道我做错了什么?谁能解释我发生了什么?