使用Node-sass缩小CSS

Mat*_*ach 29 css minify node.js node-sass

我在我的NodeJS项目中使用SCSS并让我的脚本使用以下命令将所有单独的SCSS文件转换为单个CSS文件

node-sass -w public/css/scss/style.scss public/css/style.css
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是我也希望缩小CSS文件.这可能与Node-sass一起使用吗?文档说有一个"紧凑"的选项,但是当我尝试时它似乎不起作用

node-sass -w compact public/css/scss/style.scss public/css/style.css
Run Code Online (Sandbox Code Playgroud)

预先感谢您的任何帮助.

vre*_*mal 69

node-sass文档中说你必须使用 --output-style,它可能是nested | expanded | compact | compressed.缩小使用compressed

例如:

node-sass -w public/css/scss/style.scss public/css/style.css --output-style compressed
Run Code Online (Sandbox Code Playgroud)

将缩小CSS.

  • node-sass 现已弃用。尽管这在 2016 年是正确的,但建议使用 Dart-SASS 包,正如 Roko C. Buljan 回答的那样。 (2认同)
  • https://github.com/sass/node-sass 中的 @Timo 明确将此警告置于顶部:警告:LibSass 和 Node Sass 已弃用。虽然他们将继续无限期地接收维护版本,但没有计划添加其他功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到 Dart Sass。 (2认同)

Tid*_*Dev 8

node-sass 支持使用--output-style参数输出缩小的 CSS 。

输出样式

  • 类型:字符串
  • 默认: nested
  • 值:nested, expanded, compact,compressed

安装 node-sass npm 包后。build-css我将这一行添加到我的 package.json 文件中。

  "scripts": {
    "build-css": "node-sass --include-path scss scss/main.scss   public/css/main.css --output-style compressed",
  },
Run Code Online (Sandbox Code Playgroud)

然后我只需要键入 npm run build-css 将我的 /scss/main.scss 文件中的内容转换为 /public/css/main.min.css 中的压缩(缩小)css

更多信息可以在 node-sass Github repo 的文档中找到https://github.com/sass/node-sass#outputstyle


Rok*_*jan 5

由于 LibSass 和 Node Sass已被弃用,请
使用Dart-SASS 包:npm install --save-dev sass

package.json

{
  "scripts": {
    "scss": "sass --style=compressed --watch src/scss:public/css"
  },
  "dependencies": {
    "npm": "^6.13.1"
  },
  "devDependencies": {
    "sass": "^1.32.7"
  }
}
Run Code Online (Sandbox Code Playgroud)

要运行它并观察对文件的更改,请在终端中运行:

npm run scss 
Run Code Online (Sandbox Code Playgroud)

给定一个文件夹结构,如:

? package.json
? public
? ?? ? 缩小和压缩 ? ? ?? css
? style.css
? src
? scss
? style.scss