Articles of systemjs

SystemJS插件可以修改已经传输的文件吗?

当试图让Angular(1.x)与systemjs一起工作时,我意识到目前还没有能力(我知道)将$inject自动插入到angular度组件中,即使当函数的参数是被缩小器弄坏了。 手动创build$inject注释注解是单调乏味的,容易出错,违反了DRY本体 。 有一个称为ng-annotate的成熟的npm模块可以解决这个问题,并且在许多类似的情况下用于捆绑。 正如我一直在探索SystemJS,我看到有一个插件系统,包括翻译源代码的能力,这正是ng-annotate所做的。 但是,从我所看到的,SystemJS只允许您将特定文件扩展名映射到单个加载程序,并且插件的所有示例都将支持新的文件types。 我想要做的是后处理SystemJS的transpilation过程的输出,而不是添加一个新的文件types。 看起来像SystemJS应该能够做到这一点,因为它有一个处理pipe道,但我不能完全弄清楚如何正确的方法。 现在我正在使用Browserify来达到同样的效果,但是我最终得到了一组相当复杂的构build任务,如果可能的话,我想用SystemJS来简化它。 其他能够在SystemJS的加载器pipe道中使用ng-annotate的策略也是值得赞赏的。

在SystemJS加载器环境中将相对path映射到绝对path的方法

我正在使用SystemJS加载程序(与commonJS模块,但不应该是重要的),主要是直接访问node_modules下的node_modules 。 现在在运行时,是否有可能从相对位置查找当前环境中的绝对path? 也就是说,如果我require('./myComponent') ,它将获取http://localhost:3000/app/myComponent.js但如果通过npm install (因此驻留在node_modules下) npm install该组件,SystemJS将正确加载http://localhost:3000/node_modules/dist/myComponent.js 。 有没有办法从相对的一个查找这个绝对path? 即类似var absPath = SystemJS.lookup('./myComponent') ?

什么是angular2中使用system.config.js文件?

var map,packages,var config做什么? 还解释了map和package对象的所有configuration属性。 有没有可用的configuration文件? 这是我的系统configuration文件 /** * System configuration for Angular samples * Adjust as necessary for your application needs. */ (function (global) { System.config({ paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { // our app is within the […]

使用SystemJS生成工作stream,并通过CDN托pipe外部依赖项

我试图找出一个良好的生产工作stream程,与开发工作stream程很好。 需要从构build中排除1MB的外部库,然后使用CDN分别托pipe它们。 所以我们有这个: <script src="jspm_packages/system.js"></script> <script src="config.js"></script> <script src="build.js"></script> <script> System.import('app/main.js'); </script> 这很好,main.js中的任何内容都被忽略,因为它已经包含在build.js中。 虽然我猜这意味着什么时候该回到开发热门的时候,我们必须先删除build.js? 所以现在我想分开生产的外部依赖关系: builder.buildStatic('app/main.js', 'build.js', { externals: ['jquery'], globalName: 'App', globalDeps: { 'jquery': 'jQuery' } }); 当我们这样做时,我们需要添加一行: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2 jquery.min.js"></script> <script src="jspm_packages/system.js"></script> <script src="config.js"></script> <script src="build.js"></script> <script> System.import('app/main.js'); </script> 这意味着,当我们切换回开发版本时,jQuery将被双重捆绑到main.js中? 然后是SystemJS的片段: System.config({ bundles: { 'build/core': ['jquery'] } }); System.import('app/main.js'); 不知道如何使用这个,因为现在我们不会使用CDN来托pipejQuery。 所以对我来说,这种感觉就像一个捕捉22. JSPM是伟大的,因为它给你的包pipe理,但要在生产中使用的包,你希望他们在外面。 所以如果我们不得不在页面中包含脚本标签,那么这不就是JSPM的目的呢? […]