首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有sass-loader、MiniCssExtractPlugin和uikit的MiniCssExtractPlugin

带有sass-loader、MiniCssExtractPlugin和uikit的MiniCssExtractPlugin
EN

Stack Overflow用户
提问于 2018-07-12 10:43:34
回答 1查看 1.3K关注 0票数 1

我正在尝试安装uitkit模板

  • webpack 4
  • sass装载机
  • MiniCssExtractPlugin
  • 乌伊基特

我想要实现的是,构建会自动将sass转换为css,并将生成的css注入到src/index.html中。

webpack.config.js

代码语言:javascript
复制
const HtmlWebPackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.html$/,
        use: [
          {
            loader: "html-loader",
            options: { minimize: true }
          }
        ]
      },
      {
    test: /\.scss$/,
    use: [
      MiniCssExtractPlugin.loader,
      {
        loader: "css-loader",
        options: {
          modules: true,
          sourceMap: true,
          importLoader: 4
        }
      },
      "sass-loader"
    ]}
    ]
  },
  plugins: [
    new HtmlWebPackPlugin({
      template: "./src/index.html",
      filename: "./index.html"
    }),
    new MiniCssExtractPlugin({
      filename: "[name].css",
      chunkFilename: "[id].css"
    })
  ]
};

index.js

代码语言:javascript
复制
import UIkit from 'uikit';
import Icons from 'uikit/dist/js/uikit-icons';
import style from "uikit/src/scss/uikit.scss"
UIkit.use(Icons);

不幸的是,的构建失败

代码语言:javascript
复制
ERROR in ./node_modules/uikit/src/scss/uikit.scss (./node_modules/css-loader??ref--6-1!./node_modules/sass-loader/lib/loader.js!./node_modules/uikit/src/scss/uikit.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
$inverse-base-color: $inverse-global-color !default;
Undefined variable: "$inverse-global-color".
in new_proj/node_modules/uikit/src/scss/components/base.scss (line 607, column 49)

如果有人能解释我做错了什么,为什么sass加载器找不到变量$逆全局颜色,我会很感激。

EN

回答 1

Stack Overflow用户

发布于 2018-07-12 11:21:49

我找到了答案。它是这样运作的:

index.js

代码语言:javascript
复制
...
import style from "./main.scss"
...

main.scss

代码语言:javascript
复制
// 1. Your custom variables and variable overwrites.
$global-link-color: #DA7D02;

// 2. Import default variables and available mixins.
@import "uikit/src/scss/variables-theme.scss";
@import "uikit/src/scss/mixins-theme.scss";

// 3. Your custom mixin overwrites.
@mixin hook-card() { color: #000; }

// 4. Import UIkit.
@import "uikit/src/scss/uikit-theme.scss";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51303596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档