0

リモートサーバーでlivereload、 、およびその他でgulp を使用しています。less私はこれまで何度も gulp を使用して成功してきましたが、このシナリオを経験したことはありません。

WinSCPを使用してファイルを保存/編集しています(ファイルをダブルクリックすると、Sublime Textで開きます...保存すると、WinSCPは自動的にサーバーにアップロードします)。

ただし、この方法で実行すると、gulp-lessほとんどの場合失敗します。コンパイルされたコア CSS ファイルが 2 つあります。

失敗すると言うとき、これが私が意味することです-Bootstrapを使用すると、常に同じエラーが発生します。

    variable @grid-columns is undefined in file ....grid.less line no. 48

@grid-columnsこれは、メインの Bootstrap「インポート」ファイルで最初の見出しとして定義した場合でも発生します。

もう 1 つはlivereload、Less ファイルがコンパイルされる前のある時点で、コンパイルされた CSS をリロードするという点で失敗します。これは不可能なはずですが、どういうわけか起こります。

ただし、SSH コマンド プロンプトからtouch myfile.lessorと入力するtouch anybootstrapfile.lessと、すべてが完全に機能します。

明らかにこれは非常に迷惑ですが、住みやすいです。なんらかの修正方法が必要だと思いますが。世界でこれを実現できるものと、それを修正するために何ができるか (もしあれば) についてのアイデアはありますか?

4

2 に答える 2

1

大丈夫。WinScp の開発者である Martin の助けを借りて、私はこれを解決しました。私はgulp.waitプラグインを使用して、最後のリロードの前に一時停止を挿入していましたが、機能していませんでした。

だって・・・そこが問題じゃなかったから。問題はアップロード時に発生していました。ファイルがすぐに「タッチ」されていたという点で(または、タイムスタンプに何かがあり、最終的に機能的同等物を引き起こしました)。

そのため、wait プロセスを less プロセスが次のように呼び出される直前に移動しました。

gulp.src(src)
.pipe(plumber({
  errorHandler:onError
})
.pipe(wait(500))
.pipe(less())
//etc

私は実験するつもりです.500ミリ秒はおそらく必要以上に長いです..しかし、長すぎて苦痛ではありません. これにより、問題は即座に解決されました。

ありがとうマーティン!

于 2015-01-11T00:12:20.753 に答える