2016-09-14 2 views
1

Я только что собрал свежих Подписки Quickstart проекта угловой WebPack быстрого старт (angular 2 webpack quickstart)угловых 2 - TestBed.configureTestingModule - провайдеры: [] проливает Использование зарезервированных слов «импорт» ошибка

Я добавил свой первый тест .spec.ts нравится эта

describe('first test',()=>{ 
    beforeEach(()=>{ 
    TestBed.configureTestingModule({ 
     providers:[MockBackend] 
    }) 
) 
} 

и он бросает мне

SyntaxError:User of reserved word 'import'

Если удалить MockBackend он работает отлично.

EDIT------------------------

I found out that if I provide e.g. MockBackend to the app.component.spec.ts (also from quickstart), everthing works fine.

So the only difference is the location of my test file which is

app 
--app.component.spec 
--sdk (folder) 
----tests (folder) 
------mytest.spec 

Вот мой karma.conf, webpack.test и webpack.common (которые в основном по умолчанию один из Краткого руководства

Карма

var webpackConfig = require('./webpack.test'); 

module.exports = function (config) { 
    var _config = { 
    basePath: '', 

    frameworks: ['jasmine'], 

    files: [ 
     {pattern: './config/karma-test-shim.js', watched: false} 
    ], 

    preprocessors: { 
     './config/karma-test-shim.js': ['webpack', 'sourcemap'] 
    }, 

    webpack: webpackConfig, 

    webpackMiddleware: { 
     stats: 'errors-only' 
    }, 

    webpackServer: { 
     noInfo: true 
    }, 

    reporters: ['progress'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: false, 
    browsers: ['PhantomJS'], 
    singleRun: true 
    }; 

    config.set(_config); 
}; 

Webpack.test

var helpers = require('./helpers'); 

module.exports = { 
    devtool: 'inline-source-map', 

    resolve: { 
    extensions: ['', '.ts', '.js'] 
    }, 

    module: { 
    loaders: [ 
     { 
     test: /\.ts$/, 
     loaders: ['ts', 'angular2-template-loader'] 
     }, 
     { 
     test: /\.html$/, 
     loader: 'html' 

     }, 
     { 
     test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/, 
     loader: 'null' 
     }, 
     { 
     test: /\.css$/, 
     exclude: helpers.root('src', 'app'), 
     loader: 'null' 
     }, 
     { 
     test: /\.css$/, 
     include: helpers.root('src', 'app'), 
     loader: 'raw' 
     } 
    ] 
    } 
} 

Webpack.common

var webpack = require('webpack'); 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 
var ExtractTextPlugin = require('extract-text-webpack-plugin'); 
var helpers = require('./helpers'); 

module.exports = { 
    entry: { 
    'polyfills': './src/polyfills.ts', 
    'vendor': './src/vendor.ts', 
    'app': './src/main.ts' 
    }, 

    resolve: { 
    extensions: ['', '.js', '.ts'] 
    }, 

    module: { 
    loaders: [ 
     { 
     test: /\.ts$/, 
     loaders: ['ts', 'angular2-template-loader'] 
     }, 
     { 
     test: /\.html$/, 
     loader: 'html' 
     }, 
     { 
     test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/, 
     loader: 'file?name=assets/[name].[hash].[ext]' 
     }, 
     { 
     test: /\.css$/, 
     exclude: helpers.root('src', 'app'), 
     loader: ExtractTextPlugin.extract('style', 'css?sourceMap') 
     }, 
     { 
     test: /\.css$/, 
     include: helpers.root('src', 'app'), 
     loader: 'raw' 
     } 
    ] 
    }, 

    plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: ['app', 'vendor', 'polyfills'] 
    }), 

    new HtmlWebpackPlugin({ 
     template: 'src/index.html' 
    }) 
    ] 
}; 
+1

ли вы использовать 'import:' вместо 'import:' где-нибудь ('@NgModule()' например) –

+0

nope, везде он «импортирует», но если у меня есть провайдеры: [], он работает. Только если я попытаюсь предоставить –

+0

Есть что-то не хватает в вашем последнем комментарии. «Только если я попытаюсь обеспечить» ...? –

ответ

0

решил его .... проверочный файл я работал с был участником копия вставили из RC4 спецификации и был импорт, который я предполагаю осуждался ...