javascript - 如何配置 Angular2 Quickstart 来运行 phantomjs?

标签 javascript angular phantomjs karma-runner

我试图弄清楚如何运行 Angular2 Quickstart 的测试与 phantomjs 一起。

我认为这些步骤足以配置 Karma:

<强>1。克隆存储库

$ git clone https://github.com/angular/quickstart.git
$ cd quickstart

<强>2。安装 phantomjs 和 phantomjs 启动器

$ npm install --save-dev phantomjs
$ npm install --save-dev karma-phantomjs-launcher

<强>3。更改 karma.conf.js

//第一个改变
require('karma-chrome-launcher') => require('karma-phantomjs-launcher')

//第二次改变
浏览器:['Chrome'] => 浏览器:['PhantomJS']

<强>4。安装快速启动应用程序

$ npm install

<强>5。运行测试

$ npm run test-once

报告以下错误:

PhantomJS 2.1.1 (Linux 0.0.0) ERROR TypeError: undefined is not a function (evaluating 'System.config') at karma-test-shim.js:30

我错过了什么或做错了什么?

谢谢。

最佳答案

在此之前有一个错误:404 试图查找 system-polyfills.js

404: /base/node_modules/systemjs/dist/system-polyfills.js

如果将其添加到 karma 配置中,错误就会消失。

files: [
  // System.js for module loading
  'node_modules/systemjs/dist/system.src.js',
  'node_modules/systemjs/dist/system-polyfills.js',

不太清楚有什么区别(为什么 Chrome 不需要它)。我猜this issue是你的。你应该问他们。

关于javascript - 如何配置 Angular2 Quickstart 来运行 phantomjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470806/

相关文章:

node.js - Mongoose 从集合中获取所有内容返回一个空列表

css - 是否可以在 Angular 中将动态样式作为字符串应用?

javascript - 如何填充选择框,选择名称和ID时包括 ":"

phantomjs - grunt-contrib-jasmine 找不到 PhantomJS API?

java - 守护程序 java 进程 - 有这样的东西吗?

javascript - 在 javascript 中将 onfocus 传递给 onmouseenter 事件

javascript - THREE.js稀疏平面BufferGeometry

javascript - 使用 javascript 发送实时视频

javascript - Ajax POST 和 Stringify 混淆

javascript - Angular 5 与 Materialize CSS 绑定(bind)选择/选项