使用systemjs

时间:2016-02-01 10:22:17

标签: angularjs node.js intern

我目前正在考虑将实习生整合到更大的技术堆栈中并且似乎陷入困境。 大多数情况下,我关注this article on how to test TypeScript with Intern

我开发使用nodejs和angular with typescript,将其转换为ES5。模块格式为 systemjs (遗憾的是,在此环境中是必须的。)
在实习文档中提到了测试其他模块类型的内容,但如果可能的话,我不确定如何根据我的需要调整它。

如果我尝试通过手动require($module)绕过systemjs,实习生会一直告诉我缺少必需的模块(模块的依赖关系)。

我当前的tsconfig-options:

"compilerOptions": {
    "module": "System",
    "target": "ES5",
    "sourceMap": true,
    "noEmitOnError": false,
    "outDir": "src/scripts/js"
  }

我离开了实习生的示例配置几乎未触及,尽管我在官方角度示例测试中添加了角度模块。 任何提示或帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

查看loaders configuration。它显示了如何使用RequireJS而不是Dojo加载器。如果SystemJS提供相同的API(AMD),您也应该能够交换它。

答案 1 :(得分:0)

注意:这有点自我推销,但 回答了这个问题。

SystemJS的AMD支持不适用于Intern / Dojo的AMD加载器插件。为此,我编写了intern-systemjs-loader,这是一个适配器,它使用SystemJS兼容的解决方案覆盖了一些AMD插件。

您可以npm install并在loaders configuration中引用它。我正在使用它来避免我的ES2015 +代码的转换步骤,包括使用ES2017的async / await编写异步测试。