webpack config postcss горячая сборка не работает - PullRequest
0 голосов
/ 02 июля 2019

Окно CLI говорит мне:

Вы не установили никаких плагинов, парсера или строкового преобразователя. Прямо сейчас PostCSS ничего не делает. Выберите плагины для вашего дела на https://www.postcss.parts/ и используйте их в postcss.config.js

Итак, я могу сделать свой проект горячим.

const buildConfig = merge(baseConfig, {
  output: {
    hotUpdateChunkFilename: "hot/hot-update.js",
    hotUpdateMainFilename: "hot/hot-update.json"
  },
  optimization: {
    minimize: false
  },
  devtool: "inline-source-map",
  module: {
    rules: [
      {
        test: /\.ts(x?)$/,
        exclude: /node_modules/,
        use: [
          {
            loader: "babel-loader",
            options: {
              babelrc: false,
              sourceMap: true,
              cacheDirectory: true,
              plugins: ["react-hot-loader/babel"],
              presets: ["@babel/preset-env"]
            }
          },
          {
            loader: "ts-loader",
            options: { logLevel: "info", silent: false, logInfoToStdOut: true }
          }
        ]
      },
      {
        test: /\.[s]*css$/,
        use: [
          {
            loader: "css-loader",
            options: {
              publicPath: ".",
              importLoaders: 1,
              url: false,
              minimize: true
            }
          },
          {
            loader: "postcss-loader",
            options: {
              publicPath: ".",
              config: {
                path: path.join(__dirname, "./postcss.config.js")
              }
            }
          }
        ]
      }
    ]
  },
  devServer: {
    host: "localhost",
    port: port,
    contentBase: path.join(__dirname, DEFINES.paths.wwwroot),
    disableHostCheck: true, // host 0.0.0.0 일 경우 보안상 문제로 추가
    compress: false,
    noInfo: true,
    stats: "errors-only",
    inline: true,
    lazy: false,
    hot: true,
    https: https,
    headers: {
      "Access-Control-Allow-Origin": "*"
    },
    watchOptions: {
      aggregateTimeout: 300,
      poll: 100
    },
    historyApiFallback: {
      verbose: true,
      disableDotRule: false
    }
  },
  plugins: [new webpack.HotModuleReplacementPlugin()]
});

module.exports = buildConfig;
...