Как правильно настроить webpack чтобы можно использовать в vue-ssr проекте импорт css файлов и теги ?

Почему я не могу подклюить стили в Laravel-vue-ssr проекте? в webpack.mix.js прописываю как в мануале. Использую npm run prod как рекомендовано. Но при этом получаю ошибку:

V8Js::compileString():2589: ReferenceError: window is not defined

webpack.mix.js

let mix = require('laravel-mix');

mix
  .js('resources/js/entry-client.js', 'public/js')
  .js('resources/js/entry-server.js', 'public/js')
;

mix.webpackConfig({
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.runtime.common.js',
      'vue$': 'vue/dist/vue.js',
      'vue$': 'vue/dist/vue.esm.js'
    }
  }

});


const ExtractTextPlugin = require('extract-text-webpack-plugin')

// извлечение CSS должно использоваться только в production
// чтобы работала горячая замена на этапе разработки.
const isProduction = process.env.NODE_ENV === 'production'

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          // включаем извлечение CSS
          extractCSS: isProduction
        }
      },
      // ...
    ]
  },
  plugins: isProduction
    // убедитесь что добавили плагин!
    ? [new ExtractTextPlugin({ filename: 'common.[chunkhash].css' })]
    : []
}

node_modules/laravel-mix/setup/webpack.config.js

let mix = require('../src/index');

let ComponentFactory = require('../src/components/ComponentFactory');

new ComponentFactory().installAll();

require(Mix.paths.mix());

Mix.dispatch('init', Mix);

let WebpackConfig = require('../src/builder/WebpackConfig');

module.exports = new WebpackConfig().build();

Подскажите новичку, как правильно это сделать?


Ответы (0 шт):