@devlocal

Как объеденить все стили из установленных компонентов в один файл css?

Есть проект на Laravel (v.5.7) + Vue + установленные пакеты через npm.
Как можно объеденить css стили из установленных пакетов через npm в один файл css.
Сейчас в head
<head>
<link href="/css/site.css?id=71a313498e6b1e06d6c2" rel="stylesheet">
<style type="text/css">...</style>
<style type="text/css">...</style>
<style type="text/css">...</style>
<style type="text/css">
.ui-alert {
  display: -webkit-box;
  display: flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 0.9375rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  overflow: hidden;
  position: relative;
  -webkit-transition: margin-bottom 0.3s;
  transition: margin-bottom 0.3s;
  width: 100%;
}
</style>
</head>
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack
Thinking about a11y
Ответ написан
Комментировать
profesor08
@profesor08
Твои стили и так в одном файле с расширением .js. Чтоб переместить их в файл с расширением .css, тебе нужен плагин для webpack - extract css plugin, его свежая инкарнация - https://webpack.js.org/plugins/mini-css-extract-plugin/
Конфиги совместимы.
// webpack.config.js

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

{
  mode: "development",
  devtool: "cheap-module-source-map",
  entry: {
    main: path.join(__dirname, "./assets/src/ts/main.ts"),
  },
  output: {
    path: path.resolve(__dirname, "./assets/"),
    filename: "js/[name].js",
  },
  resolve: {
    extensions: ["*", ".js", ".ts", ".tsx"],
  },
  optimization: {
  },
  plugins: [
    new MiniCssExtractPlugin({
      // Options similar to the same options in webpackOptions.output
      // all options are optional
      filename: "css/[name].css",
      chunkFilename: "css/[id].css",
      ignoreOrder: false, // Enable to remove warnings about conflicting order
      stats: { children: false },
    }),
  ],
  module: {
    rules: []
  }
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы