Проблема с vue-loader webpack с точкой входа: 'ERROR in chunk'

Я пытаюсь добавить vue в свое существующее приложение webpack (на основе эту простую демонстрацию). Я хочу загружать файлы vue и SFC только в определенную точку входа, но во время сборки получаю эту ошибку:

ERROR in chunk testview [entry]
style.css
Conflict: Multiple chunks emit assets to the same filename style.css (chunks app and testview)

Я пытаюсь загрузить файл . /js/components/main-content.vue

Содержимое рассматриваемой точки входа, файла ./js/views/TestView.js:

import Vue from "vue";
import MainContent from "../components/main-content";
let MainComponent = Vue.extend(MainContent);
new MainComponent().$mount("#mainContent");

Стоит отметить, что если я включу вышеперечисленное в свой app.js, он будет работать нормально. Ошибка не появляется, и vue (и SFC) правильно загружается в браузере.

Сокращенная версия моего webpack.config.js:

const VueLoaderPlugin = require("vue-loader/lib/plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = (env, argv) => {

  return {
    entry: {
      app: ["./src/polyfills.js", "./src/scss/styles.scss", "./src/app.js"],
      ...
      testview: "./src/js/views/TestView.js"
    },
    output: {
      path: assets,
      filename: "[name].[hash].js",
      publicPath: "/static/"
    },
    resolve: {
      modules: ["node_modules", "src"],
      alias: {
        vue$: "vue/dist/vue.esm.js"
      },
      extensions: ["*", ".js", ".vue"]
    },
    module: {
      rules: [
        {
          test: /\.js?$/,
          exclude: /node_modules/,
          use: [
            {
              loader: "babel-loader",
              ...
            }
          ]
        },
        {
          test: /\.s?[ac]ss$/,
          use: [
            {
              loader: "vue-style-loader"
            },
            {
              loader: MiniCssExtractPlugin.loader
            },
            {
              loader: "css-loader"
            }
            ...
          ]
        },
        {
          test: /\.vue$/,
          loader: "vue-loader"
        }
      ]
    },
    optimization: {
      splitChunks: {
        cacheGroups: {
          commons: {
            name: "commons",
            chunks: "initial",
            minChunks: 2,
            minSize: 0
          }
        }
      },
      occurrenceOrder: true 
    },
    plugins: [
      new HtmlWebpackPlugin({
        hash: true,
        inject: false,
        template: "./src/jinja-templates/base.html.j2",
        filename: `${templates}/base.html.j2`,
        environment: environment,
        development: ifNotProduction()
      }),
      new MiniCssExtractPlugin({
        filename: devMode ? "style.css" : "style.[hash].css"
      }),
      ...
      new VueLoaderPlugin()
    ]
  };
};

person tarponjargon    schedule 10.12.2018    source источник
comment
Удалось ли вам это решить? У меня сейчас похожие проблемы!   -  person Constantin Groß    schedule 09.01.2019
comment
Я не выяснил эту проблему специально, но я внес некоторые изменения в конфигурацию и кое-что заработало. См. Эту проблему: stackoverflow.com/questions/53736904/   -  person tarponjargon    schedule 10.01.2019