Как проверить файл TSX, который импортирует S CSS с помощью Jest? - PullRequest
0 голосов
/ 09 мая 2020

Это мой jest.config:

module.exports = {
  roots: ['<rootDir>/src'],
  collectCoverageFrom: [
    '<rootDir>/src/**/*.{ts,tsx}'
  ],
  coverageDirectory: 'coverage',
  testEnvironment: 'jsdom',
  transform: {
    '.+\\.(ts|tsx)$': 'ts-jest'
  },
  transformIgnorePatterns: [
    '.+\\.scss$'
  ],
  moduleNameMapper: {
    '\\.scss$': 'identity-obj-proxy',
    '@/(.*)': '<rootDir>/src/$1'
  }
}

И это мой webpack.config:

const path = require('path')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')

module.exports = {
  mode: 'development',
  entry: './src/main/index.tsx',
  output: {
    path: path.join(__dirname, 'public/js'),
    filename: 'bundle.js',
    publicPath: '/public/js'
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.scss'],
    alias: {
      '@': path.join(__dirname, 'src')
    }
  },
  devServer: {
    contentBase: './public',
    writeToDisk: true
  },
  module: {
    rules: [{
      test: /\.(ts)x?$/,
      exclude: /node_modules/,
      loader: 'ts-loader'
    }, {
      test: /\.scss$/,
      use: [
        'style-loader',
        {
          loader: 'css-loader',
          options: {
            modules: true
          }
        },
        'sass-loader'
      ]
    }]
  },
  externals: {
    react: 'React',
    'react-dom': 'ReactDOM'
  },
  plugins: [
    new CleanWebpackPlugin()
  ]
}

Я всегда получаю сообщение об ошибке: Cannot find module './login -styles.s css '

1 Ответ

0 голосов
/ 09 мая 2020

После нескольких дней попыток, после удаления моих node_modules и package.lock и повторного запуска npm install все просто сработало.

...