ASP MVC の世界よりも面白くて軽量なので、Express やその他のさまざまなノード関連のフレームワークに慣れてきました。最初にやろうとしているのは、SASS ファイルを自動的に CSS ファイルにコンパイルすることです。 .
私はそれにいくつかの方法を取り入れてインストールnode-sass
し、いくつかのチュートリアルに従いましたが、必要な結果が得られません. まず、これが私のディレクトリ構造です。
app.js
static/
stylesheets/
images/
js/
sass/
index.sass
views/
index.jade
したがって、私の計画はかなり単純です。ブラウザーでアクセスしたときに、レンダリングしviews/index.jade
たい- 明らかに、これはコンパイル時には存在しませんが、対応するファイルが.index.jade
static/stylesheets/index.css
index.scss
sass
私の現在の設定は、/css/index.css
を参照すること__dirname/static/stylesheets
です。したがって、私の翡翠ビュー内には、次のブロックがあります。
block head
link(href='/css/index.css', rel='stylesheet')
意図は、このリンクがコンパイルされた sass ファイルを参照することです。以下は、sass のコンパイルと静的コンテンツの提供に関する app.js の部分です。
// Enable SASS compilation
app.use(sass.middleware({
src: __dirname + '/sass',
dest: __dirname + '/static/stylesheets',
debug: true,
outputStyle: 'compressed'
}));
// Add static content
app.use('/js', express.static(__dirname + '/static/js'));
app.use('/img', express.static(__dirname + '/static/img'));
app.use('/css', express.static(__dirname + '/static/stylesheets'));
私の問題は、実際に起こっていることは、SASS が css をうまくコンパイルしているように見えますが、上記で使用したルート/css/
のために、すべてをフォルダー (存在しない) に追加していることです。/css
おそらく、デバッグ出力の方が理にかなっています。
source : E:\project\sass\css\index.scss
dest : E:\project\static\stylesheets\css\index.css
read : E:\project\static\stylesheets\css\index.css
明らかに、これは意図したものではなく、ブラウザーが要求していると認識しているため 404ing になりcss/index.css
ますが、SASS ファイルは実質的にcss/css/index.css
.
ここで何をすべきですか?私は明らかな間違いを犯していると思いますが、ノード/エクスプレスを初めて使用するため、それを見ることができません。