因果报应-未捕获的语法错误:Angular 2中意外的令牌导入
我遵循本教程,在Angular 2中编写简单的单元测试用例,并验证Karma的设置。我未捕获SyntaxError:意外的令牌导入--compute.spec.ts:2。语法非常简单,看起来与教程类似。但是我不知道为什么我会犯这个错误。这些是使用的版本因果报应-未捕获的语法错误:Angular 2中意外的令牌导入,angular,typescript,jasmine,karma-runner,karma-jasmine,Angular,Typescript,Jasmine,Karma Runner,Karma Jasmine,我遵循本教程,在Angular 2中编写简单的单元测试用例,并验证Karma的设置。我未捕获SyntaxError:意外的令牌导入--compute.spec.ts:2。语法非常简单,看起来与教程类似。但是我不知道为什么我会犯这个错误。这些是使用的版本 //package.json "scripts": { "clean": "ionic-app-scripts clean", "build": "ionic-app-scripts build", "serve
//package.json
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"serve": "ionic-app-scripts serve",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve",
"test": "karma start karma.conf.js"
},
"dependencies": {
"@angular/animations": "4.0.3",
"@angular/common": "2.4.10",
"@angular/compiler": "2.4.10",
"@angular/core": "2.4.10",
"@angular/flex-layout": "2.0.0-beta.5",
"@angular/forms": "2.4.10",
"@angular/http": "2.4.10",
"@angular/material": "2.0.0-beta.2",
"@angular/platform-browser": "2.4.10",
"@angular/platform-browser-dynamic": "2.4.10",
"@angular/router": "3.4.10",
"@types/c3": "^0.4.39",
"angular-hammer": "^2.2.0",
"angular2-mqtt": "^1.7.1",
"c3": "^0.4.11",
"core-js": "^2.4.1",
"d3": "^3.5.17",
"karma": "^1.7.0",
"karma-chrome-launcher": "^2.1.1",
"karma-jasmine": "^1.1.0",
"rxjs": "^5.1.0",
"sw-toolbox": "^3.6.0",
"zone.js": "^0.7.7"
},
"devDependencies": {
"@angular/compiler-cli": "2.4.10",
"@ionic/app-scripts": "1.1.4",
"@types/c3": "^0.4.39",
"@types/jasmine": "^2.5.47",
"c3": "^0.4.11",
"jasmine-core": "^2.6.2",
"karma": "^1.7.0",
"typescript": "2.2.2"
}
My project structure
myproject
-src
-app
-01-fundamentals
-compute.ts
-compute.spec.ts
-karma.conf.js
//compute.spec.ts
import {compute} from './compute';
describe('compute',() => {
it('should return 0 if input is negative', () => {
const result= compute(-1);
expect(result).toBe(0);
})
})
//karma.conf.js
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine'],
files: ["src/app/**/*.spec.ts"
],
exclude: [
],
preprocessors: {
},
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_DEBUG,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity,
plugins: [ 'karma-jasmine', 'karma-chrome-launcher'],
mime: {
'text/x-typescript': ['ts','tsx']
},
})
}
使用--sourcemaps=false运行测试,您将得到正确的错误消息
ng test --sm=false
使用--sourcemaps=false运行测试,您将得到正确的错误消息
ng test --sm=false
我发现我们需要使用一些预处理器。我尝试使用karma-typescript预处理器。安装后,我得到不同的错误,`你们需要适配器来运行karma启动方法',这太疯狂了。试图解决一个问题,另一个问题突然出现!!欢迎来到现代web开发的世界。。。我也面临同样的问题。我发现我们需要使用一些预处理器。我尝试使用karma-typescript预处理器。安装后,我得到不同的错误,`你们需要适配器来运行karma启动方法',这太疯狂了。试图解决一个问题,另一个问题突然出现!!欢迎来到现代web开发的世界。。。我也面临同样的问题。