Как установить SASS с Express? - программирование

Как установить SASS с Express?

Я создаю приложение node.js с Express и socket.io. Я хочу использовать SASS, и я вижу, что для него есть пакет npm, я не понимаю, как я могу связать между SSS npm и приложением и заставить его анализировать SASS?

UPDATE: Я использовал промежуточное программное обеспечение SASS https://github.com/andrew/node-sass и установил его следующим образом:

  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
  });
});

Но он все еще не работает

4b9b3361

Ответ 1

Вам нужно использовать связующее ПО sass, например этот.

Цитата из документов:

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

в случае использования выражения, просто добавьте:

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

на ваш вызов app.configure().

Конечно, на производственных системах лучше перекомпилировать sass для css.

Обновление

В приведенном выше примере промежуточное ПО будет искать файлы sass в __dirname + '/sass/css'. Также по умолчанию он ищет файлы с расширением .scss. Кажется, что нет возможности изменить расширение.

Ответ 2

Вот решение, основанное на различных источниках, включая приведенные выше темы/комментарии:

node:

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

файловая система:

rootDirectory/server.js(это приложение node)

rootDirectory/public/styles/(здесь появляются скомпилированные файлы scss)

rootDirectory/sass/main.scss

Это работает для меня, и я исказил пример:

node-sass-example

здесь:

node -sass-example с использованием префикса

Ответ 3

Если вы используете экспресс-генератор Затем попробуйте "express --view = ejs --css = sass"