Skip to content

sasstools/node-module-importer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

node-module-importer

Node Sass importer for npm packages

Disclaimer

This is ALPHA software.

It's messy. It's probably slow. It's probably buggy.

Give it a shot. File bugs. Be patient.

Support

  • Node >= 6
  • node-sass >= 4.9.0

Install

This package has a peer dependency on Node Sass for ensure import API compatibility.

npm install @node-sass/node-module-importer node-sass

Usage

Install an npm package with the Sass files you want to import.

npm install foundation

When Node Sass parses an @import in will try to match the first part of the URL with an installed npm package. The rest of the URL will be resolved relative to the where the package is installed.

@import "foundation/scss/foundation.scss";

Node Sass API

var sass = require('node-sass');
var nodeModuleImport = require('@node-sass/node-module-importer');

sass.render({
  file: 'index.scss',
  importer: [nodeModuleImport],
}, function (err, result) {
  if (err) throw err;
  console.log(result.css.toString());
});

Node Sass CLI

$ node-sass index.scss --importer node_modules/@node-sass/node-module-importer/index.js

FAQ

Why is this different from adding node_modules to includePaths?

npm can install packages in nested node_modules folders i.e. node_modules/package_1/node_modules/package_2.