# node-sass
#### Supported Node.js versions vary by release, please consult the [releases page](https://github.com/sass/node-sass/releases). Below is a quick guide for minimium support:
NodeJS | Minimum node-sass version | Node Module
--------|--------------------------|------------
Node 12 | 4.12+ | 72
Node 11 | 4.10+ | 67
Node 10 | 4.9+ | 64
Node 8 | 4.5.3+ | 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>
[![Build Status](https://travis-ci.org/sass/node-sass.svg?branch=master&style=flat)](https://travis-ci.org/sass/node-sass)
[![Build status](https://ci.appveyor.com/api/projects/status/22mjbk59kvd55m9y/branch/master?svg=true)](https://ci.appveyor.com/project/sass/node-sass/branch/master)
[![npm version](https://badge.fury.io/js/node-sass.svg)](http://badge.fury.io/js/node-sass)
[![Dependency Status](https://david-dm.org/sass/node-sass.svg?theme=shields.io)](https://david-dm.org/sass/node-sass)
[![devDependency Status](https://david-dm.org/sass/node-sass/dev-status.svg?theme=shields.io)](https://david-dm.org/sass/node-sass#info=devDependencies)
[![Coverage Status](https://coveralls.io/repos/sass/node-sass/badge.svg?branch=master)](https://coveralls.io/r/sass/node-sass?branch=master)
[![Inline docs](http://inch-ci.org/github/sass/node-sass.svg?branch=master)](http://inch-ci.org/github/sass/node-sass)
[![Join us in Slack](https://libsass-slack.herokuapp.com/badge.svg)](https://libsass-slack.herokuapp.com/)
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/nodejs/node-v0.x-archive/wiki/Installing-Node.js-via-package-manager) 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=http://registry.npm.taobao.org
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 string
#### types.Color(r, g, b [, a = 1.0]) or types.Color(argb)
* `getR()` / `setR(value)` : red component (integer from `0` to `255`)
* `getG()` / `setG(value)` : green component (integer from `0` to `255`)
* `getB()` / `setB(value)` : blue component (integer from `0` to `255`)
* `getA()` / `setA(value)` : alpha component (number from `0` to `1.0`)
Example:
```javascript
var Color = require('node-sass').types.Color,
c1 = new Color(255, 0, 0),
c2 = new Color(0xff0088cc);
```
#### types.Boolean(value)
* `getValue()` : gets the enclosed boolean
* `types.Boolean.TRUE` : Singleton instance of `types.Boolean` that holds "true"
* `types.Boolean.FALSE` : Singleton instance of `types.Boolean` that holds "false"
#### types.List(length [, commaSeparator = true])
* `getValue(index)` / `setValue(index, value)` : `value` must itself be an instance of one of the constructors in `sass.types`.
* `getSeparator()` / `setSeparator(isComma)` : whether to use commas as a separator
* `getLength()`
#### types.Map(length)
* `getKey(index)` / `setKey(index, value)`
* `getValue(index)` / `setValue(index, value)`
* `getLength()`
#### types.Null()
* `types.Null.NULL
没有合适的资源?快使用搜索试试~ 我知道了~
node组件node-sass、sass-loader
共365个文件
cpp:67个
hpp:51个
scss:50个
需积分: 10 0 下载量 200 浏览量
2022-09-06
16:27:22
上传
评论
收藏 1.56MB ZIP 举报
温馨提示
node组件node-sass、sass-loader
资源详情
资源评论
资源推荐
收起资源包目录
node组件node-sass、sass-loader (365个子文件)
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 743B
expected.css 378B
expected.css 240B
expected.css 191B
expected.css 156B
expected.css 115B
expected-importer.css 51B
expected.css 46B
setter-expected.css 43B
expected.css 34B
expected-orange.css 32B
string-conversion-expected.css 30B
expected-red.css 29B
expected.css 28B
expected.css 27B
libsass.sln.DotSettings 2KB
.DS_Store 8KB
.editorconfig 291B
.editorconfig 220B
共 365 条
- 1
- 2
- 3
- 4
y4243619
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0