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:
aquí:
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