SASS 构建过程教程

SASS 构建过程教程

让我们看看我们如何使用 npm 脚本来设置 Sass 构建过程——并促进我们的开发工作流程。

什么是构建过程?

它本质上只是一系列自动执行的任务——我们在项目完成后运行。我们的生产文件已生成,然后可以部署到 Web 服务器。

构建过程

请注意:以下过程假设您已经启动并运行了一个 Sass 项目!如果没有请看文章 设置 Sass ,在这里我将介绍在本地服务器上设置 Sass 开发环境所涉及的步骤。

好的!那么我们要实现什么样的构建过程呢?

我们将编译、连接、添加前缀和压缩我们的样式表。

主文件 — 我们从我们的主 sass 文件开始,它执行 CSS 的编译。

接下来要看看串联。在此过程中,我们希望将所有 CSS 文件合并为一个。为了测试这个过程,我创建了一个名为 附加.css .

然后我们将研究使用 autoprefixer 进行前缀。前缀会自动将供应商前缀(-webkit、-moz 等)添加到我们的代码中,以帮助确保其在主要浏览器中的功能。

我们过程的最后一步是压缩。我们将压缩现阶段拥有的所有代码,以最大限度地提高性能。

让我们继续使用 NPM 脚本创建我们的构建过程。

创建构建过程

汇编

打开你的 package.json 文件。运行时生成的文件 npm 初始化 在你的 Sass 项目目录中。

添加以下脚本:

 “脚本”:{  
 "watch-sass": "node-sass sass/main.scss css/style.css --watch",  
 “编译-sass”:“节点-sass sass/main.scss css/style.comp.css”  
 },

让我们确保编译工作正常。在终端中,打开您的 Sass 项目文件夹并运行:

 npm 运行 compile-sass

它应该完成渲染并将 style.comp.css 文件输出到您的 CSS 文件夹。我们将在项目结束时运行此任务——完成我们的最终构建!

在我们开发项目时,我们使用以下命令运行 watch 任务:

 npm 运行 watch-sass

这告诉编译器在每次保存 Sass 文件时观察源文件的更改,并自动重新编译为 CSS ——只要确保在工作时保持任务运行!

级联

下一步是添加脚本来连接我们现有的 CSS 文件。如前所述,我创建了 附加.css 文件用于我们的合并。在它里面有一些额外的样式。继续并在您的 CSS 文件夹中创建一个新的 CSS 文件。只需给它一些额外的样式 - 没关系。然后将以下行添加到我们的脚本中,如下所示:

 “脚本”:{  
 "watch-sass": "node-sass sass/main.scss css/style.css --watch",  
 "compile-sass": "node-sass sass/main.scss css/style.comp.css",  
 “concat-css”:“concat -o css/style.concat.css css/additional.css css/style.comp.css”  
 },

连接css : 是我们的脚本名称。 连接 -o css/style.concat.css 是我们的包输出文件。 css/additional.css css/style.comp.css 是我们要连接的 CSS 文件。

我们需要安装 连接 npm 包,然后运行以下命令:

 npm install concat --save-dev

安装完成后,您会看到它列在 “开发依赖” 你的 package.json。

现在运行 concat 以确保它正常工作。

 npm 运行 concat-css

您现在将看到 样式.concat.css CSS 目录中的输出文件。打开它并查看你的 CSS,你会看到你的内容 附加.css 和你的 样式.comp.css 已合并为一。

前缀

我们现在继续在我们的构建中添加前缀。我们的脚本现在如下所示:

 “脚本”:{  
 "watch-sass": "node-sass sass/main.scss css/style.css --watch",  
 "compile-sass": "node-sass sass/main.scss css/style.comp.css",  
 "concat-css": "concat -o css/style.concat.css css/additional.css css/style.comp.css",  
 “prefix-css”:“postcss --use autoprefixer -b 'last 5 versions' css/style.concat.css -o css/style.prefix.css”  
 },

前缀 CSS : 是我们的脚本名称。 postcss --使用自动前缀 选择自动前缀。 -b '最近 5 个版本' 我们指定我们希望我们的自动前缀覆盖哪些浏览器版本。 css/style.concat.css 是我们的输入文件。 -o css/style.prefix.css 我们指定我们的输出文件。

我们正在使用 npm 自动前缀 包,需要通过运行来安装:

 npm install autoprefixer --save-dev

我们还需要安装 后CSS (自动前缀是这个插件的一部分)。我们使用以下命令:

 npm install postcss-cli --save-dev

然后运行脚本如下:

 npm 运行前缀-css

它将生成我们的 css/style.prefix.css 文件。查看此文件中的代码,您会看到已为您添加了浏览器前缀。这很棒,因为我们现在可以忘记前缀并专注于编写干净的代码!

压缩

我们现在处于构建过程的最后一步。让我们将以下行添加到我们的脚本中:

 “脚本”:{  
 "watch-sass": "node-sass sass/main.scss css/style.css --watch",  
 "compile-sass": "node-sass sass/main.scss css/style.comp.css",  
 "concat-css": "concat -o css/style.concat.css css/additional.css css/style.comp.css",  
 “prefix-css”: “postcss --use autoprefixer -b 'last 5 versions' css/style.concat.css -o css/style.prefix.css”,  
 "compress-css": "node-sass css/style.prefix.css css/style.css --output-style 压缩"  
 },

这是一个很容易的。在这里,我们所做的就是告诉我们 css/style.prefix.css 输入文件,输出到 css/style.css .这 --输出风格压缩 选项将压缩代码。

让我们测试一下。

 npm 运行压缩 css

现在看看你的 样式.css 文件。您会看到您的所有样式都压缩为一行代码!所有空白和评论已被删除。您可以比较您的文件大小 样式.前缀.css 新生成的输入文件 样式.css 文件,查看压缩文件的大小。通过这个简单的步骤,我们显着减少了页面负载!

建造

现在让我们编写一个最终脚本来一次运行所有内容!添加以下内容:

 “脚本”:{  
 "watch-sass": "node-sass sass/main.scss css/style.css --watch",  
 "compile-sass": "node-sass sass/main.scss css/style.comp.css",  
 "concat-css": "concat -o css/style.concat.css css/additional.css css/style.comp.css",  
 “prefix-css”: “postcss --use autoprefixer -b 'last 5 versions' css/style.concat.css -o css/style.prefix.css”,  
 "compress-css": "node-sass css/style.prefix.css css/style.css --output-style 压缩",  
 “build-css”:“npm-run-all compile-sass concat-css prefix-css compress-css”  
 },

在这里,我们简单地添加了所有任务 编译-sass , 连接css , 前缀 CSS & 压缩css 当我们执行我们的构建命令时运行。

我们使用 npm-运行-所有 包以确保它适用于所有平台。输入以下命令:

 npm install npm-run-all --save-dev

让我们进行最终测试以确认一切正常。删除所有文件(除了 附加.css ),来自 CSS 文件夹。完成后,运行构建命令:

 npm 运行 build-css

给你!你所有的 CSS 文件都是用这个命令生成的——强大的东西!

要在未来的项目中获得此构建设置,您需要做的就是复制 脚本开发依赖 从此项目中,进入新项目的 package.json 并运行 npm 安装 .

概括

我们现在已经为我们的 Sass 项目创建了一个构建过程!我们可以使用单个命令编译、合并、添加前缀和压缩样式表。因此,我们显着改进了我们的开发工作流程。

结论

如果你喜欢这篇博文和这个 萨斯系列 ,跟着我 推特 我每天都会在这里发布有关技术相关的事情!

让我们联系

最初发表于 https://dev.to 2022 年 9 月 6 日。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/20702/32140700

posted @ 2022-09-07 00:33  哈哈哈来了啊啊啊  阅读(180)  评论(0编辑  收藏  举报