VSCode / TypeScript / AngularJS /茉莉花。茉莉花测试无法使用“ method”:“ amd”吗?

时间:2019-12-18 19:05:29

标签: angularjs typescript jasmine

在TypeScript中使用import关键字时,在运行Jasmine测试时遇到一些问题。

使用node -r ts-node/register ./node_modules/.bin/jasmine在控制台中运行测试时,出现如下参考错误“未定义定义”:

/Users/jk/Documents/VSCodeProjects/AngularJSTestProject/app/tests/fringe.spec.js:1 define(["require", "exports", "../fringe"], function (require, exports, fringe_1) { ^ ReferenceError: define is not defined at Object.<anonymous> (/Users/joshkramer/Documents/VSCodeProjects/AngularJSTestProject/app/tests/fringe.spec.js:1:63) at Module._compile (internal/modules/cjs/loader.js:722:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10) at Module.load (internal/modules/cjs/loader.js:620:32) ...

我确定在设置"method":"amd"和 可以通过在tsconfig中设置"module":"commonjs"来避免,但是出于我也不了解的原因,我可以使用Live Server和chrome来使AngularJs应用程序正确加载和运行的唯一方法是使用“方法”: “ amd”。 (当在控制器内使用导入类时,Angular控制器无法使用其他设置加载。)。

我希望找到一种解决方案,既可以运行茉莉花测试,也可以在实时服务器中运行我的angularjs,而无需摆弄配置。似乎可以通过require.js某种方式解决此问题,但我不知道该怎么做。我尝试了“需要模块支持”扩展程序,但没有帮助。

0 个答案:

没有答案