Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including to-string-loader with all npm packages installed. Try it out:

var toStringLoader = require("to-string-loader")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

to-string-loader v1.1.5

to-string loader for webpack

to-string loader for webpack

Usage

let output = require('to-string!css!sass!./my.scss');
// => returns sass rendered to CSS a string

Don't forget to polyfill require if you want to use it in node.

See webpack documentation.

Use Case

If you setup a SASS loader:

{
    test: /\.scss$/,
    loaders: [
        'css',
        'sass'
    ]
},

then require('./my.scss') will return an Array object:

0: Array[3]
    0: 223
    1: "html,↵body,↵ol,↵ul,↵li,↵p { margin: 0; padding: 0; }↵"
    2: ""
    length: 3
i: (modules, mediaQuery) { .. }
length: 1
toString: toString()

In some cases (e.g. Angular2 @View styles definition) you need to have style as a string.

You can cast the require output to a string, e.g.

@View({
    directives: [RouterOutlet, RouterLink],
    template: require('./app.html'),
    styles: [
        require('./app.scss').toString()
    ]
})

or you can use to-string loader that will do that for you:

{
    test: /\.scss$/,
    loaders: [
        'to-string',
        'css',
        'sass'
    ]
},

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free