node.jssassnpmnode-modules

Importing Sass through npm


Currently in our Sass files we have something like the following:

@import "../../node_modules/some-module/sass/app";

This is bad, because we're not actually sure of the path: it could be ../node_modules, it could be ../../../../../node_modules, because of how npm installs stuff.

Is there a way in Sass that we can search up until we find node_modules? Or even a proper way of including Sass through npm?


Solution

  • If you are looking for a handy answer in 2017 and are using Webpack, this was the easiest I found.

    Suppose your module path is like:

    node_modules/some-module/sass/app
    

    Then in your main scss file you can use:

    @import "~some-module/sass/app";
    

    Tilde operator shall resolve any import as a module.