0

主要只是试图让 Karma+JSPM 在加载 .ts 文件时表现良好,但绝对没有运气。

我看到了一个带有精简示例的讨论回购。

基本上,在 Karma 中运行时,Karma 中的 JSPM 似乎忽略了defaultJSExtensions: true包级别"defaultExtension": "ts"配置,在尝试加载文件时会出现以下错误:

$ npm test

> karma-jspm-typescript-coverage@1.0.0 test C:\examples\karma-jspm-typescript-coverage
> karma start

18 08 2016 17:29:31.937:INFO [karma]: Karma v1.2.0 server started at http://localhost:1337/
18 08 2016 17:29:31.943:INFO [launcher]: Launching browser Chrome with unlimited concurrency
18 08 2016 17:29:31.974:INFO [launcher]: Starting browser Chrome
18 08 2016 17:29:33.075:INFO [Chrome 52.0.2743 (Windows 7 0.0.0)]: Connected on socket /#jTR10wm0CWNIfrdhAAAA with id 75197348
18 08 2016 17:29:33.317:WARN [web-server]: 404: /src/app/app.spec.ts.js
Chrome 52.0.2743 (Windows 7 0.0.0) ERROR
  Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:1337/src/app/app.spec.ts.js
        Error: XHR error (404 Not Found) loading http://localhost:1337/src/app/app.spec.ts.js
        Error loading http://localhost:1337/src/app/app.spec.ts.js

npm ERR! Test failed.  See above for more details.

请注意.ts.js扩展名。尝试了从karma-typescript-proprocessor到通过不同的 JSPM 配置加载,而不是实时运行。

试图保留它,因此无需管理已.js编译的文件而只使用这些.ts文件。开发服务器和捆绑/构建功能齐全 - 这个测试和覆盖部分是我的最后一个障碍。

请让我知道您是否可以给我任何方向!

4

1 回答 1

1

包级别"defaultExtension": "ts"不适用,因为 karma 运行在顶级目录src中,比包含 config.js 的目录高一级

baseURL: '.'

如果我在其中复制app包配置并在其src前面添加,如下所示:

  packages: {
    "src/app": {
      "main": "app",
      "defaultExtension": "ts",
      "meta": {
        "*.ts": {
          "loader": "ts"
        }
      }
    },
    "app": {
      "main": "app",
      "defaultExtension": "ts",
      "meta": {
        "*.ts": {
          "loader": "ts"
        }
      }
    }
  },

我能够更进一步。我现在得到

Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:9876/jspm_packages/github/frankwallis/plugin-typescript@5.0.9.js

这向我表明 karma-jspm 插件无法在 SystemJS 期望的 URL 处提供源文件

于 2016-08-19T18:14:44.103 回答