如何使用Karma-Webpack使用Node Typescripttypes

我已经configuration了Webpack来在Karma中传输我的TS文件。 我还包括Node和CoreJStypes。 但是,当我尝试运行我的testing,我得到…

ERROR in ./test/karma/test.bundle.ts (18,30): error TS2339: Property 'context' does not exist on type 'NodeRequire'. 

我尝试使用npm install --save-dev @types/webpack-env ,但是这给我更多的错误。

 ERROR in /.../node_modules/@types/webpack-env/index.d.ts (183,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'require' must be of type 'NodeRequire', but here has type 'RequireFunction'. ERROR in /.../node_modules/@types/webpack-env/index.d.ts (232,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'module' must be of type 'NodeModule', but here has type 'Module'. ERROR in ./test/karma/test.bundle.ts (18,30): error TS2339: Property 'context' does not exist on type 'NodeRequire'. 

我的噶configuration看起来像这样…

 var webpack = require("webpack"); module.exports = function(config) { var webpackConfig = require("../../webpack.config"); // TODO: Can we get rid on this? // We need to remove entry points and plugins webpackConfig.plugins = [ // IMPORTANT!!!! Without this source maps fail to show up. new webpack.SourceMapDevToolPlugin({ filename: null, // if no value is provided the sourcemap is inlined test: /\.(ts|js)($|\?)/i // process .js and .ts files only }) ]; //This is used to remap can access (Based on https://github.com/sshev/karma-remap-coverage) webpackConfig.ts = { compilerOptions: { inlineSourceMap: true, sourceMap: false } }; webpackConfig.module.postLoaders = [ { test: /^((?!\.spec\.ts).)*.ts$/, exclude: /(node_modules|bower_components)/, loader: 'istanbul-instrumenter' } ]; webpackConfig.entry = {}; var configuration = { autoWatch: true, basePath: "", browsers: ["Chrome"], colors: true, concurrency: Infinity, coverageReporter: { type: 'in-memory' }, exclude: [ "node_modules" ], files: [ { pattern: "./test.bundle.ts", watched: true }, ], frameworks: ["jasmine"], htmlReporter: { outputFile: "../../reports/units.html" }, logLevel: config.LOG_INFO, port: 9876, preprocessors: { "./test.bundle.ts": ["webpack", "sourcemap" ], }, remapCoverageReporter: { "text-summary": null, html: "./reports/coverage/html" }, reporters: ["progress", "coverage", "remap-coverage", "html"], singleRun: false, webpack: webpackConfig, webpackMiddleware: { stats: "errors-only"} }; config.set(configuration); }; 

版本

webpack 1.14.0,节点v6.9.2,Typescript 2.1.4