添加笑话会导致错误

时间:2019-07-12 01:17:51

标签: reactjs typescript webpack jestjs

我有react项目(不是create-react-app)。该项目已由Visual Studio Net Core应用程序模板生成。

它运行无误。

但是使用命令npm install --save-dev jest添加玩笑会导致编译期间出现数百个错误。

我怀疑我的Web Pack配置不正确,但不知道出了什么问题...

目前,我在项目中根本没有测试。

错误示例

  

[加载器]中的错误./node_modules/@jest/console/build/BufferedConsole.d.ts:17:146       TS1144:“ {”或“;”预期。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:18:5       TS1128:需要声明或声明。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:19:17       TS1005:“,”应为。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:19:32       TS1109:期望表达。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:19:49       TS1005:“;”预期。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:19:55       TS1109:期望表达。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:20:17       TS1109:期望表达。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:20:26       TS1005:“;”预期。   [加载程序]中的错误。/node_modules/@jest/console/build/BufferedConsole.d.ts:20:32       TS1109:希望表达。

webpack.config.js

const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
const bundleOutputDir = './wwwroot/dist';

module.exports = (env) => {
    const isDevBuild = !(env && env.prod);
    return [{
        stats: { modules: false },
        entry: { 'main': './ClientApp/boot.tsx' },
        resolve: { extensions: ['.js', '.jsx', '.ts', '.tsx'] },
        output: {
            path: path.join(__dirname, bundleOutputDir),
            filename: '[name].js',
            publicPath: 'dist/'
        },
        module: {
            rules: [
                { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' },
                { test: /\.css$/, use: isDevBuild ? ['style-loader', 'css-loader'] : ExtractTextPlugin.extract({ use: 'css-loader?minimize' }) },
                { test: /\.(png|jpg|jpeg|gif|svg|ttf|woff|eot|woff2)$/, use: 'url-loader?limit=25000' }
            ]
        },
        plugins: [
            new CheckerPlugin(),
            new webpack.DllReferencePlugin({
                context: __dirname,
                manifest: require('./wwwroot/dist/vendor-manifest.json')
            })
        ].concat(isDevBuild ? [
            // Plugins that apply in development builds only
            new webpack.SourceMapDevToolPlugin({
                filename: '[file].map', // Remove this line if you prefer inline source maps
                moduleFilenameTemplate: path.relative(bundleOutputDir, '[resourcePath]') // Point sourcemap entries to the original file locations on disk
            })
        ] : [
            // Plugins that apply in production builds only
            new webpack.optimize.UglifyJsPlugin(),
            new ExtractTextPlugin('site.css')
        ])
    }];
};

tsconfig.json

{
   "compilerOptions": {
      "baseUrl": ".",
      "module": "commonjs",
      "moduleResolution": "node",
      "esModuleInterop": true,
      "target": "es5",
      "lib": [ "es6", "dom" ],
      "jsx": "react",
      "sourceMap": true,
      "skipDefaultLibCheck": true,
      "strict": true,
      "types": [ "webpack-env" ]
   },
  "exclude": [
      "bin",
      "node_modules"
  ]
}

jest.config.js

module.exports = {
    "transform": {
        "^.+\\.tsx?$": "ts-jest"
    },
}

0 个答案:

没有答案