sass - 为什么我的代码会复制文件的 css?
问题描述
在 Sass 中,我有一些组件(导航栏、页脚)和一些@mixins
(字体)以及一个控制字体的函数。
我@import
在字体@include
的功能中做字体的位置,在这个功能中我只是选择我要使用的字体。
问题是,当我将组件(导航栏和页脚)分离为“部分”时,它们具有相同的来源,并且我@import
在每个.scss中提供了这些来源。
并且它会在我生成的.scss文件中生成重复的代码。我想知道对此有什么好的做法,如果我做得对,如何避免在.scss中出现这些重复?
解决方案
我玩游戏有点晚了,但我遇到了这个问题,并且有部分内容或使用 @include 不起作用。它为我做的是使用即 css-nano-webpack-plugin https://www.npmjs.com/package/cssnano-webpack-plugin。我正在使用 webpack v5,因此无法使用 webpack mini-css-extract-plugin https://www.npmjs.com/package/mini-css-extract-plugin使其工作。
请记住,下面的代码片段最小化并缩小了 css PER scss 文件。因此,文件之间的重复可能仍会出现在 .css 输出文件中。
所以,像这样将它包含在你的 webpack 配置中(来源是 npmjs cssnano-webpack-plugin 站点)
const CssnanoPlugin = require('cssnano-webpack-plugin');
module.exports = {
module: {
loaders: [
{
test: /.s?css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'sass-loader'
]
}
]
},
optimization: {
minimizer: [
new CssnanoPlugin()
]
}
};
´´´
推荐阅读
- python - How to make every 'beginner' shown at random during the run of the program
- python - 可选的默认参数?
- php - 如何在 Marklogic 的光学 API 查询中使用用户在 Web 应用程序中设置的参数值?
- python - Numpy:尝试在数组切片的切片上设置值
- sql - 与属于父号码的某些号码分组
- node.js - 我的反应项目中哪个是 NodeJS 部分?
- linkedin - 如何将带有“-i --upload-file”的 curl 调用转换为 PHP?
- reactjs - webpack --watch 不想在我的 index.js 中处理反应组件
- java - 多对多关系条目未显示在 Spring REST 中
- c# - 如何在 ASP.NET MVC 5 应用程序中使用 Roslyn?