Как получить карму, чтобы настроить режим веб-пакета на разработку?

Когда я запускаю карму, я получаю следующее предупреждение:

  

ВНИМАНИЕ в конфигурации   Опция 'mode' не была установлена, для этого значения webpack откатится до 'production'. Установите для параметра «mode» значение «development» или «production», чтобы включить настройки по умолчанию для каждой среды.   Вы также можете установить его в none, чтобы отключить любое поведение по умолчанию. Подробнее: https://webpack.js.org/concepts/mode/

Я попытался добавить mode: 'development' в мой webpack-test.config.js файл, как предложено в ссылке выше, но не только это не имело никакого значения, Intellij IDEA жаловался:

  

webpack: свойство 'mode' не разрешено

Мой юнит-тест все равно работает, но я бы хотел избавиться от этого предупреждения. Любая помощь очень ценится.

Вот мой webpack-test.config.js файл:

const path = require('path');
const webpack = require('webpack');

const ROOT = path.resolve( __dirname, 'src' );

module.exports = {
  mode: 'production',
  context: ROOT,

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

  module: {
    rules: [
      // PRE-LOADERS
      {
        enforce: 'pre',
        test: /\.js$/,
        use: 'source-map-loader'
      },

      // LOADERS
      {
        test: /\.ts$/,
        exclude: [ /node_modules/ ],
        use: 'ts-loader'
      }
    ]
  },

  devtool: 'cheap-module-source-map',
  devServer: {}
};

Мой karma.conf.js:

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('karma-webpack')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false,
    files: [
      'spec.bundle.js'
    ],
    preprocessors: {
      'spec.bundle.js': ['webpack']
    },
    webpack: require('./webpack-test.config')
  });
};

И spec.bundle.js:

const testsContext = require.context("./", true, /\.spec\.ts$/);
testsContext.keys().forEach(testsContext);

Я запускаю карму через:

karma start ./karma.conf.js
4 голоса | спросил kshetline 17 Mayam18 2018, 06:25:50

2 ответа


0
Я наткнулся на это методом проб и ошибок, заменив:... в ---- +: = 1 =: + ---- с:... и предупреждение исчезло.Мало того, я обнаружил, что мне действительно не нужны ни мой ---- +: = 3 =: + ---- , ни два npm-модуля, которые я загружал для его поддержки, ---- +: =4 =: + ---- и ---- +: = 5 =: + ---- .Если кто-то действительно захочет указать ---- +: = 6 =: + ---- и указать конкретный файл конфигурации веб-пакета, я не уверен, как они это сделают.Я экспериментировал с несколькими вариантами и не мог найти ничего, что могло бы работать.У этого материала нет отличной документации :(
ответил kshetline 17 Mayam18 2018, 07:56:58
0
Вам не нужно запрашивать пакет webpack в вашем конфигурационном файле.Не уверен, что это вызывает путаницу в Intellij или нет, но ---- +: = 0 =: + ---- , безусловно, является допустимым свойством webpack.https://webpack.js.org/concepts/mode/Я также заметил, что в вашем файле ---- +: = 1 =: + ---- строка ---- +: = 2 =: + ---- отсутствует ---- +: =3 =: + ---- расширение для файла конфигурации.Возможно, поэтому настройки вашего конфига не отражены в вашем тесте кармы.
ответил Michael Battaglia 29 J0000006Europe/Moscow 2018, 00:27:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132