web-dev-qa-db-ja.com

SASSをExpressにインストールするにはどうすればよいですか?

Expressとsocket.ioを使用してnode.jsアプリを作成しています。 SASSを使用したいのですが、npmパッケージがあるのですが、SASS npmとアプリをリンクしてSASSを解析させる方法がわかりません。

更新:私は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
  });
});

しかし、それでも機能しません

23
ilyo

this one などの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にプリコンパイルすることをお勧めします。

更新

上記の例では、ミドルウェアは___dirname + '/sass/css'_でsassファイルを検索します。また、デフォルトでは、_.scss_拡張子を持つファイルを探します。拡張子を変更するオプションがないようです。

27
soulcheck

Express-Generatorを使用している場合は、

express --view=ejs --css=sass
10

上記のスレッド/コメントを含むさまざまなソースに基づくソリューションは次のとおりです。

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(これはノードアプリです)

rootDirectory/public/styles /(これは、コンパイルされたscssファイルが表示される場所です)

rootDirectory/sass/main.scss

これは私にとってはうまくいき、私は次の場所で例をフォークしました:

node-sass-example

ここに:

node-sass-exampleプレフィックスを使用

4
swervo

Expressの実装が少し変更されたようです。代わりにこれを行わなければなりませんでした:

npm install node-sass-middleware --save

その後

var sass = require('node-sass-middleware');

 app.use(
     sass({
         src: __dirname + '/sass',    // Input SASS files
         dest: __dirname + '/public', // Output CSS
         debug: true                
     })
 );
2
Adam Grant