# node-sass
**Warning:** [LibSass and Node Sass are deprecated](https://sass-lang.com/blog/libsass-is-deprecated).
While they will continue to receive maintenance releases indefinitely, there are no
plans to add additional features or compatibility with any new CSS or Sass features.
Projects that still use it should move onto
[Dart Sass](https://sass-lang.com/dart-sass).
## Node version support policy
1. Supported Node.js versions vary by release, please consult the [releases page](https://github.com/sass/node-sass/releases).
1. Node versions that hit end of life <https://github.com/nodejs/Release>, will be dropped from support at each node-sass release (major, minor).
1. We will stop building binaries for unsupported releases, testing for breakages in dependency compatibility, but we will not block installations for those that want to support themselves.
1. New node release require minor internal changes along with support from CI providers (AppVeyor, GitHub Actions). We will open a single issue for interested parties to subscribe to, and close additional issues.
Below is a quick guide for minimum and maximum supported versions of node-sass:
NodeJS | Supported node-sass version | Node Module
--------|-----------------------------|------------
Node 20 | 9.0+ | 115
Node 19 | 8.0+ | 111
Node 18 | 8.0+ | 108
Node 17 | 7.0+, <8.0 | 102
Node 16 | 6.0+ | 93
Node 15 | 5.0+, <7.0 | 88
Node 14 | 4.14+, <9.0 | 83
Node 13 | 4.13+, <5.0 | 79
Node 12 | 4.12+, <8.0 | 72
Node 11 | 4.10+, <5.0 | 67
Node 10 | 4.9+, <6.0 | 64
Node 8 | 4.5.3+, <5.0 | 57
Node <8 | <5.0 | <57
<table>
<tr>
<td>
<img width="77px" alt="Sass logo" src="https://rawgit.com/sass/node-sass/master/media/logo.svg" />
</td>
<td valign="bottom" align="right">
<a href="https://www.npmjs.com/package/node-sass">
<img width="100%" src="https://nodei.co/npm/node-sass.png?downloads=true&downloadRank=true&stars=true">
</a>
</td>
</tr>
</table>
![Alpine](https://github.com/sass/node-sass/workflows/Build%20bindings%20for%20Alpine%20releases/badge.svg)
![Linux](https://github.com/sass/node-sass/workflows/Build%20bindings%20for%20Linux%20releases/badge.svg)
![macOS](https://github.com/sass/node-sass/workflows/Build%20bindings%20for%20macOS%20releases/badge.svg)
![Windows x64](https://github.com/sass/node-sass/workflows/Build%20bindings%20for%20Windows%20releases/badge.svg)
![Linting](https://github.com/sass/node-sass/workflows/Lint%20JS/badge.svg)
[![Windows x86](https://ci.appveyor.com/api/projects/status/22mjbk59kvd55m9y/branch/master?svg=true)](https://ci.appveyor.com/project/sass/node-sass/branch/master)
[![Coverage Status](https://coveralls.io/repos/sass/node-sass/badge.svg?branch=master)](https://coveralls.io/r/sass/node-sass?branch=master)
Node-sass is a library that provides binding for Node.js to [LibSass], the C version of the popular stylesheet preprocessor, Sass.
It allows you to natively compile .scss files to css at incredible speed and automatically via a connect middleware.
Find it on npm: <https://www.npmjs.com/package/node-sass>
Follow @nodesass on twitter for release updates: <https://twitter.com/nodesass>
## Install
```shell
npm install node-sass
```
Some users have reported issues installing on Ubuntu due to `node` being registered to another package. [Follow the official NodeJS docs](https://github.com/nodesource/distributions/blob/master/README.md#debinstall) to install NodeJS so that `#!/usr/bin/env node` correctly resolves.
Compiling on Windows machines requires the [node-gyp prerequisites](https://github.com/nodejs/node-gyp#on-windows).
Are you seeing the following error? Check out our [Troubleshooting guide](https://github.com/sass/node-sass/blob/master/TROUBLESHOOTING.md#installing-node-sass-4x-with-node--4).**
```
SyntaxError: Use of const in strict mode.
```
**Having installation troubles? Check out our [Troubleshooting guide](https://github.com/sass/node-sass/blob/master/TROUBLESHOOTING.md).**
### Install from mirror in China
```shell
npm install -g mirror-config-china --registry=https://registry.npmmirror.com
npm install node-sass
```
## Usage
```javascript
var sass = require('node-sass');
sass.render({
file: scss_filename,
[, options..]
}, function(err, result) { /*...*/ });
// OR
var result = sass.renderSync({
data: scss_content
[, options..]
});
```
## Options
### file
* Type: `String`
* Default: `null`
**Special**: `file` or `data` must be specified
Path to a file for [LibSass] to compile.
### data
* Type: `String`
* Default: `null`
**Special**: `file` or `data` must be specified
A string to pass to [LibSass] to compile. It is recommended that you use `includePaths` in conjunction with this so that [LibSass] can find files when using the `@import` directive.
### importer (>= v2.0.0) - _experimental_
**This is an experimental LibSass feature. Use with caution.**
* Type: `Function | Function[]` signature `function(url, prev, done)`
* Default: `undefined`
Function Parameters and Information:
* `url (String)` - the path in import **as-is**, which [LibSass] encountered
* `prev (String)` - the previously resolved path
* `done (Function)` - a callback function to invoke on async completion, takes an object literal containing
* `file (String)` - an alternate path for [LibSass] to use **OR**
* `contents (String)` - the imported contents (for example, read from memory or the file system)
Handles when [LibSass] encounters the `@import` directive. A custom importer allows extension of the [LibSass] engine in both a synchronous and asynchronous manner. In both cases, the goal is to either `return` or call `done()` with an object literal. Depending on the value of the object literal, one of two things will happen.
When returning or calling `done()` with `{ file: "String" }`, the new file path will be assumed for the `@import`. It's recommended to be mindful of the value of `prev` in instances where relative path resolution may be required.
When returning or calling `done()` with `{ contents: "String" }`, the string value will be used as if the file was read in through an external source.
Starting from v3.0.0:
* `this` refers to a contextual scope for the immediate run of `sass.render` or `sass.renderSync`
* importers can return error and LibSass will emit that error in response. For instance:
```javascript
done(new Error('doesn\'t exist!'));
// or return synchronously
return new Error('nothing to do here');
```
* importer can be an array of functions, which will be called by LibSass in the order of their occurrence in array. This helps user specify special importer for particular kind of path (filesystem, http). If an importer does not want to handle a particular path, it should return `null`. See [functions section](#functions--v300---experimental) for more details on Sass types.
### functions (>= v3.0.0) - _experimental_
**This is an experimental LibSass feature. Use with caution.**
`functions` is an `Object` that holds a collection of custom functions that may be invoked by the sass files being compiled. They may take zero or more input parameters and must return a value either synchronously (`return ...;`) or asynchronously (`done();`). Those parameters will be instances of one of the constructors contained in the `require('node-sass').types` hash. The return value must be of one of these types as well. See the list of available types below:
#### types.Number(value [, unit = ""])
* `getValue()`/ `setValue(value)` : gets / sets the numerical portion of the number
* `getUnit()` / `setUnit(unit)` : gets / sets the unit portion of the number
#### types.String(value)
* `getValue()` / `setValue(value)` : gets / sets the enclosed s
没有合适的资源?快使用搜索试试~ 我知道了~
node-sass安装包
共362个文件
cpp:67个
hpp:51个
scss:50个
需积分: 5 2 下载量 99 浏览量
2023-10-23
15:19:02
上传
评论
收藏 525KB ZIP 举报
温馨提示
node-sass安装包
资源推荐
资源详情
资源评论
收起资源包目录
node-sass安装包 (362个子文件)
configure.ac 4KB
GNUmakefile.am 2KB
GNUmakefile.am 1KB
bootstrap 299B
branding 351B
cencode.c 2KB
c99func.c 2KB
ci-build-libsass 4KB
ci-build-plugin 2KB
ci-install-compiler 96B
ci-install-deps 412B
ci-report-coverage 1KB
Makefile.conf 1KB
COPYING 1KB
parser.cpp 107KB
functions.cpp 80KB
extend.cpp 76KB
ast.cpp 70KB
eval.cpp 57KB
prelexer.cpp 48KB
context.cpp 32KB
color_maps.cpp 32KB
json.cpp 32KB
inspect.cpp 30KB
sass_context.cpp 29KB
expand.cpp 27KB
sass2scss.cpp 24KB
util.cpp 20KB
cssize.cpp 18KB
file.cpp 17KB
units.cpp 15KB
sass_values.cpp 14KB
binding.cpp 13KB
test_subset_map.cpp 12KB
bind.cpp 12KB
check_nesting.cpp 10KB
operators.cpp 10KB
node.cpp 10KB
output.cpp 9KB
sass_functions.cpp 8KB
constants.cpp 8KB
error_handling.cpp 8KB
emitter.cpp 7KB
source_map.cpp 7KB
environment.cpp 6KB
lexer.cpp 6KB
plugins.cpp 6KB
position.cpp 5KB
values.cpp 5KB
sass.cpp 5KB
sass_util.cpp 4KB
color.cpp 4KB
map.cpp 4KB
custom_importer_bridge.cpp 3KB
list.cpp 3KB
utf8_string.cpp 3KB
SharedPtr.cpp 3KB
remove_placeholders.cpp 2KB
to_value.cpp 2KB
boolean.cpp 2KB
listize.cpp 2KB
number.cpp 2KB
test_node.cpp 2KB
to_c.cpp 2KB
plugin.cpp 2KB
factory.cpp 2KB
test_superselector.cpp 2KB
sass_context_wrapper.cpp 2KB
subset_map.cpp 2KB
null.cpp 2KB
string.cpp 1KB
backtrace.cpp 1KB
base64vlq.cpp 1KB
test_unification.cpp 892B
custom_function_bridge.cpp 812B
ast_fwd_decl.cpp 676B
error.cpp 570B
test_selector_difference.cpp 553B
test_specificity.cpp 535B
test_paths.cpp 509B
create_string.cpp 438B
expected.css 755B
expected.css 378B
expected.css 240B
expected.css 191B
expected.css 156B
expected.css 115B
expected-importer.css 51B
expected-data-importer.css 51B
expected.css 46B
setter-expected.css 43B
expected.css 34B
expected-orange.css 32B
string-conversion-expected.css 30B
expected-file-importer.css 30B
expected-red.css 29B
expected.css 28B
expected.css 27B
libsass.sln.DotSettings 2KB
.editorconfig 291B
共 362 条
- 1
- 2
- 3
- 4
资源评论
qq_34066222
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功