问题标签 [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.
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
typescript - 为模块包创建类型
我有点想知道,为什么没有其他人有这个问题,或者我只是没有用正确的词来描述它。问题是,我有一个发布到 npm 的模块,它必须有版本。一个可以通过 system-js 加载并直接从 npm 使用,另一个版本是我使用 system-js-builder 创建的自执行包。
假设模块名为@company/foo 我在根文件夹中有一个 index.ts,它只是从 src 导出所有内容,我还有一个 index.ts 导出所有子模块。所以 index.ts 看起来像这样。
在我想使用的模块中,我可以简单地使用以下内容。
到目前为止很容易。不,我从我的索引创建了一个自执行包,并给它一个全局名称foo ,这样如果我将脚本添加到页面中或与其他脚本连接,我就可以调用foo.bar() 。这也很好用。但是现在我有一个问题,我不知道如何为这个包创建类型。我的想法是做类似的事情
我认为这很好地描述了捆绑的作用。但是打字稿不喜欢这样。我也尝试了一些模块,但没有任何效果。我该如何描述从我的 src 桶中导出的内容以命名空间 foo 为前缀的事实?
我希望很清楚我想要达到的目标。
javascript - 当我为生产打包时出现 Angular2 systemjs 延迟加载错误
当我为生产打包时出现 Angular2 systemjs 延迟加载错误
我有一个使用 typescript、html5 和 systemjs 的 angular2 应用程序。
当我在本地运行我的延迟加载模块时,一切正常。但是当我创建生产文件时,例如捆绑发布。然后延迟加载模块/路由不起作用。
该应用程序仍在加载,并且其他非延迟加载路线有效。但是对于我的条款页面,例如,我在控制台日志中收到此错误:
未捕获(承诺):TypeError:System.import 不是函数
我曾尝试更新我的 system.config 以获取捆绑包,但老实说,我没有任何线索。
这是我的尝试(system.config 文件):
*这是我的条款和条件页面,例如 ModuleTerms。此页面在本地运行良好,但在捆绑包中时似乎中断,我导航到它,例如 /terms。
我认为我需要做一些设置。
如果您需要查看任何其他代码,请告诉我。
angular - 延迟加载 + 在 angular2 项目上应用 AOT 与 systemjs builder 捆绑项目
我在哪里可以找到关于在 Angular2 SystemJs 项目(带有延迟加载模块)上应用 aot 和捆绑的示例 Angular 2 项目?
我通过 angular-cli 做到这一点。但我怎么能用systemjs做到这一点?
angular - Angular 2 & BreezeJS & SystemJS Build - 多个匿名定义
我正在尝试通过 gulpfile 使用 SystemJS 构建工具来构建我的 Angular 2 和 BreezeJS 应用程序。但是,当我尝试执行构建任务时,Multiple anonymous defines
出现错误。
另一方面,如果我通过直接包含system.js
和systemjs.config.js
到我的页面来运行应用程序,它可以正常工作。
那么,这个错误究竟意味着什么,是否可以使用 systemjs-builder 构建我的应用程序?
- 微风客户端:1.6.0
- 系统js:0.19.41
- systemjs-builder:0.15.34
systemjs.config.js
gulpfile.js
angular - 将 systemjs-builder 与 gulp 一起使用时提供程序错误
我正在尝试捆绑我的 angular 2 应用程序进行生产。在开发中,我们使用 Visual Studio 的 typescript 编译器生成的文件(通过使用 tsconfig.json 的“outFile”参数)并使用 System.js 加载模块。在生产中,我们希望使用 gulp 生成的文件:
在开发模式下,一切都很好,但是当我们使用 gulp 生成的文件时,尽管设置了提供程序,但我们的一项服务出现了提供程序错误。
我的应用程序组件:
此服务不会产生错误:
我的服务触发了异常“错误:RechercheAgentService 没有提供者!”:
这是我的吞咽任务:
我的 tsconfig:
我的应用模块:
日历模块:
RechercheAgent模块:
共享模块:
angular - systemjs-builder - 为 angular2 捆绑 rxjs
我有一个 Angular2 应用程序,在开发环境中它运行良好。所有 Angular2 依赖项都是在运行时从 node_modules 目录加载的。
我使用 gulp-typescript 插件来捆绑应用程序代码,使用 system-js 来捆绑第三方库代码。
这是捆绑 lib 文件的 gulp 任务:
我希望所有 rxjs 库都包含在输出文件中。但是当我运行应用程序时,我得到 404 状态
(以及所有其他 rxjs 文件)。
它有助于捆绑每个单独的 rxjs 文件:
但我认为这不是一个好的解决方案。
所以问题是,如何从 rxjs 库中捆绑所有需要的文件?(Angular2 需要)
reactjs - 如何加载 JavaScript 按需包而不在 SystemJS 中两次下载相同的库?
假设我有一个React
项目,主要入口点是app.js
. 我在哪里包括React
,像这样React-DOM
:jQuery
现在想象一下,我在这里定义了一些路由,这将导致它按需触发等,如下所示route1.js
:route2.js
现在,我曾经jspm
像这样捆绑我的代码(比如说,此外react
,react-dom
我app.js
还导入了许多自定义编写的捆绑包)。因此,当我app.js
将所有库和自定义模块捆绑在一起时说build.js
.
现在,里面有代码可以按需build.js
触发加载route1.js
等。route2.js
但是,route1.js
and route2.js
alos 使用 ES6 导入react
and react-dom
。现在我当然可以使用webpack
或jspm
捆绑这些route1.js
,route2.js
等等。看,我已经包含了react
和react-dom
库build.js
,只获取新route1.js
的,route2.js
。我不想在里面包含相同的库,route1.js
或者route2.js
因为我已经在里面下载过一次app.js
。但仅获取rout1.js
或route.js
原样(使用 ES6 导入语句)将不起作用,因为浏览器不理解这一点。
我该怎么做
- 在开发中使用 ES6 代码同时按需加载代码
- 不要多次下载相同的库
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
但我不清楚我应该期待什么。现在它只是输出{}
这对我来说真的很新鲜,我可能完全误解了一些东西。寻找任何人来帮助我确定汇总是否正在运行,确认它应该是可能的,如果是的话,希望能解决这个问题。
angular - 如何使用 systemjs-builder 在单个文件中捆绑和缩小所有包
我有一个 angular2 应用程序。我使用以下配置来捆绑应用程序。我有lib文件夹下的所有库,并捆绑到js文件夹。
如果我从配置中删除地图,该应用程序将无法运行。
我希望systemjs-builder将myapp和所有角度库捆绑在一个bundle.js文件中。但事实并非如此,并在各种包文件夹中寻找包。
如何将myapp及其依赖项捆绑在一个文件中?