the script postinstall node manually instalar importer failed node.js express sass

node.js - script - node-sass-middleware



¿Cómo se instala SASS con Express? (4)

Aquí hay una solución basada en varias fuentes que incluyen los hilos / comentarios anteriores:

nodo:

var connect = require(''connect''); var sass = require(''node-sass''); var srcPath = __dirname + ''/sass''; var destPath = __dirname + ''/public/styles''; var server = connect.createServer( sass.middleware({ src: srcPath, dest: destPath, debug: true, outputStyle: ''expanded'', prefix: ''/styles'' }), connect.static(__dirname + ''/public'') );

html:

<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="styles/main.css"> etc

sistema de archivos:

rootDirectory / server.js (esta es la aplicación del nodo)

rootDirectory / public / styles / (aquí es donde aparecerán los archivos scss compilados)

directorio raíz / sass / main.scss

Esto me funciona y he citado el ejemplo en:

node-sass-example

aquí:

node-sass-example usando un prefijo

Estoy creando una aplicación node.js con Express y socket.io. Quiero usar SASS y veo que hay un paquete npm para él, lo que no entiendo es ¿cómo puedo vincular el SASS npm con la aplicación y hacer que analice el SASS?

ACTUALIZACIÓN: usé middleware SASS https://github.com/andrew/node-sass instalé y lo incluí de la siguiente manera:

sass = require(''node-sass''); app.configure(function(){ app.set(''port'', process.env.PORT || 3000); /* other stuff */ sass.middleware({ src: __dirname + ''/public/stylesheets/sass'', dest: __dirname + ''/public/stylesheets'', debug: true }); });

Pero todavía no funciona


Necesitas usar el middleware sass, por ejemplo https://github.com/andrew/node-sass .

Cita de documentos:

var server = connect.createServer( sass.middleware({ src: __dirname , dest: __dirname + ''/public'' , debug: true }), connect.static(__dirname + ''/public'') );

En caso de usar Express, simplemente añada:

app.use( sass.middleware({ src: __dirname + ''/sass'', //where the sass files are dest: __dirname + ''/public'', //where css should go debug: true // obvious }) );

a su app.configure() llamada.

Por supuesto, en los sistemas de producción es una mejor idea precompilar sass a css.

actualizar

En el ejemplo anterior, el middleware buscará archivos sass en __dirname + ''/sass/css'' . También por defecto busca archivos con extensión .scss . No parece haber una opción para cambiar la extensión.


Parece que la implementación ha cambiado un poco para Express. Tenía que hacer esto en su lugar:

npm install node-sass-middleware --save

entonces

var sass = require(''node-sass-middleware''); app.use( sass({ src: __dirname + ''/sass'', // Input SASS files dest: __dirname + ''/public'', // Output CSS debug: true }) );


Si está utilizando Express-generador, entonces intente

express --view=ejs --css=sass