问题标签 [systemjs-builder]

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 投票
0 回答
119 浏览

angular - 捆绑后Angular 2 No Provider错误

我已升级我的应用程序以使用 Angular2 应用程序的发布版本。它工作正常,但从捆绑文件运行应用程序时遇到了困难。我使用 gulp 将我的应用程序捆绑到一个 Javascript 文件中,该文件也嵌入了模板。我已经使用 Angular2 RC4 成功运行了我的应用程序的捆绑版本,但是我得到了发布版本"No provider for AppConfig"。AppConfig 是我的课程之一,它由 app.module.ts 提供。

任何帮助将不胜感激。

gulpfile.js

systemjs.config.js

来自 index.html 的脚本

main.ts

0 投票
2 回答
1598 浏览

typescript - 为模块包创建类型

我有点想知道,为什么没有其他人有这个问题,或者我只是没有用正确的词来描述它。问题是,我有一个发布到 npm 的模块,它必须有版本。一个可以通过 system-js 加载并直接从 npm 使用,另一个版本是我使用 system-js-builder 创建的自执行包。

假设模块名为@company/foo 我在根文件夹中有一个 index.ts,它只是从 src 导出所有内容,我还有一个 index.ts 导出所有子模块。所以 index.ts 看起来像这样。

在我想使用的模块中,我可以简单地使用以下内容。

到目前为止很容易。不,我从我的索引创建了一个自执行包,并给它一个全局名称foo ,这样如果我将脚本添加到页面中或与其他脚本连接,我就可以调用foo.bar() 。这也很好用。但是现在我有一个问题,我不知道如何为这个包创建类型。我的想法是做类似的事情

我认为这很好地描述了捆绑的作用。但是打字稿不喜欢这样。我也尝试了一些模块,但没有任何效果。我该如何描述从我的 src 桶中导出的内容以命名空间 foo 为前缀的事实?

我希望很清楚我想要达到的目标。

0 投票
0 回答
204 浏览

javascript - 当我为生产打包时出现 Angular2 systemjs 延迟加载错误

当我为生产打包时出现 Angular2 systemjs 延迟加载错误

我有一个使用 typescript、html5 和 systemjs 的 angular2 应用程序。

当我在本地运行我的延迟加载模块时,一切正常。但是当我创建生产文件时,例如捆绑发布。然后延迟加载模块/路由不起作用。

该应用程序仍在加载,并且其他非延迟加载路线有效。但是对于我的条款页面,例如,我在控制台日志中收到此错误:

未捕获(承诺):TypeError:System.import 不是函数

我曾尝试更新我的 system.config 以获取捆绑包,但老实说,我没有任何线索。

这是我的尝试(system.config 文件):

*这是我的条款和条件页面,例如 ModuleTerms。此页面在本地运行良好,但在捆绑包中时似乎中断,我导航到它,例如 /terms。

我认为我需要做一些设置。

如果您需要查看任何其他代码,请告诉我。

0 投票
1 回答
160 浏览

angular - 延迟加载 + 在 angular2 项目上应用 AOT 与 systemjs builder 捆绑项目

我在哪里可以找到关于在 Angular2 SystemJs 项目(带有延迟加载模块)上应用 aot 和捆绑的示例 Angular 2 项目?

我通过 angular-cli 做到这一点。但我怎么能用systemjs做到这一点?

0 投票
1 回答
213 浏览

angular - Angular 2 & BreezeJS & SystemJS Build - 多个匿名定义

我正在尝试通过 gulpfile 使用 SystemJS 构建工具来构建我的 Angular 2 和 BreezeJS 应用程序。但是,当我尝试执行构建任务时,Multiple anonymous defines出现错误。

另一方面,如果我通过直接包含system.jssystemjs.config.js到我的页面来运行应用程序,它可以正常工作。

那么,这个错误究竟意味着什么,是否可以使用 systemjs-builder 构建我的应用程序?

  • 微风客户端:1.6.0
  • 系统js:0.19.41
  • systemjs-builder:0.15.34

systemjs.config.js

gulpfile.js

0 投票
0 回答
55 浏览

angular - 将 systemjs-builder 与 gulp 一起使用时提供程序错误

我正在尝试捆绑我的 angular 2 应用程序进行生产。在开发中,我们使用 Visual Studio 的 typescript 编译器生成的文件(通过使用 tsconfig.json 的“outFile”参数)并使用 System.js 加载模块。在生产中,我们希望使用 gulp 生成的文件:

在开发模式下,一切都很好,但是当我们使用 gulp 生成的文件时,尽管设置了提供程序,但我们的一项服务出现了提供程序错误。

我的应用程序组件:

此服务不会产生错误:

我的服务触发了异常“错误:RechercheAgentService 没有提供者!”:

这是我的吞咽任务:

我的 tsconfig:

我的应用模块:

日历模块:

RechercheAgent模块:

共享模块:

0 投票
1 回答
683 浏览

angular - systemjs-builder - 为 angular2 捆绑 rxjs

我有一个 Angular2 应用程序,在开发环境中它运行良好。所有 Angular2 依赖项都是在运行时从 node_modules 目录加载的。

我使用 gulp-typescript 插件来捆绑应用程序代码,使用 system-js 来捆绑第三方库代码。

这是捆绑 lib 文件的 gulp 任务:

我希望所有 rxjs 库都包含在输出文件中。但是当我运行应用程序时,我得到 404 状态

(以及所有其他 rxjs 文件)。

它有助于捆绑每个单独的 rxjs 文件:

但我认为这不是一个好的解决方案。

所以问题是,如何从 rxjs 库中捆绑所有需要的文件?(Angular2 需要)

0 投票
0 回答
369 浏览

reactjs - 如何加载 JavaScript 按需包而不在 SystemJS 中两次下载相同的库?

假设我有一个React项目,主要入口点是app.js. 我在哪里包括React,像这样React-DOMjQuery

现在想象一下,我在这里定义了一些路由,这将导致它按需触发等,如下所示route1.jsroute2.js

现在,我曾经jspm像这样捆绑我的代码(比如说,此外reactreact-domapp.js还导入了许多自定义编写的捆绑包)。因此,当我app.js将所有库和自定义模块捆绑在一起时说build.js.

现在,里面有代码可以按需build.js触发加载route1.js等。route2.js但是,route1.jsand route2.jsalos 使用 ES6 导入reactand react-dom。现在我当然可以使用webpackjspm捆绑这些route1.jsroute2.js等等。看,我已经包含了reactreact-dombuild.js,只获取新route1.js的,route2.js。我不想在里面包含相同的库,route1.js或者route2.js因为我已经在里面下载过一次app.js。但仅获取rout1.jsroute.js原样(使用 ES6 导入语句)将不起作用,因为浏览器不理解这一点。

我该怎么做

  • 在开发中使用 ES6 代码同时按需加载代码
  • 不要多次下载相同的库
0 投票
1 回答
1108 浏览

angular - 将 Angular2 AoT 与 systemjs-builder 和汇总树抖动捆绑在一起

我花了很多时间让我的 Angular 2 项目使用 SystemJS,现在使用 AoT 编译,如下所述:https ://angular.io/docs/ts/latest/cookbook/aot-compiler.html

我正在使用 SystemJS 运行 plugin-typescript 以在开发期间在浏览器中转换 typescript。我有 systemjs builder 使用 plugin-typescript 从 AoT (ngc) 输出中生成 sfx 包。

我想不通的是如何让 systemjs-builder 对 Angular AoT 代码进行摇树摇动。据我所知,似乎 systemjs-builder 应该支持汇总(例如https://github.com/systemjs/builder/issues/709),但是当我rollup:true在 buildStatic 中设置时,我认为汇总不会为我运行选项。

typescriptOptions来自systemjs.config.js

我的buildStatic电话:

output.inlineMap从这张 github 票中得到了关于:https ://github.com/systemjs/builder/issues/639

但我不清楚我应该期待什么。现在它只是输出{}

这对我来说真的很新鲜,我可能完全误解了一些东西。寻找任何人来帮助我确定汇总是否正在运行,确认它应该是可能的,如果是的话,希望能解决这个问题。

0 投票
1 回答
602 浏览

angular - 如何使用 systemjs-builder 在单个文件中捆绑和缩小所有包

我有一个 angular2 应用程序。我使用以下配置来捆绑应用程序。我有lib文件夹下的所有库,并捆绑到js文件夹。

如果我从配置中删除地图,该应用程序将无法运行。

我希望systemjs-buildermyapp和所有角度库捆绑在一个bundle.js文件中。但事实并非如此,并在各种包文件夹中寻找包。

如何将myapp及其依赖项捆绑在一个文件中?