2015-01-09 12 views
0

원격 서버에서 livereload, less 및 기타로 꿀꺽 꿀꺽 마시고 있습니다. 나는 여러 번 전에 꿀꺽 꿀꺽 마술을 성공적으로 사용했으며,이 시나리오를 결코 경험하지 못했습니다.WinSCP가있는 Gulp - livereload 이하 less

WinSCP를 사용하여 파일을 저장/편집합니다 (파일을 두 번 클릭하고 부주의 한 텍스트로 열립니다 ... 저장합니다. WinSCP가 자동으로 다시 서버에 업로드합니다).

그러나 이렇게하면 gulp-less이 거의 항상 실패합니다. 두 개의 핵심 CSS 파일이 컴파일됩니다. 하나는 부트 스트랩이고 다른 하나는 제 자신입니다. 두 파일 모두 수정시 자신의 꿀꺽 꿀꺽한 작업으로 컴파일해야합니다. 그러나 부트 스트랩은 매번 실패하고 다른 파일은 약 절반의 시간 동안 실패합니다.

내가 여기 내 말은 무엇을 실패 말할 때 - 부트 스트랩과 나는 항상 같은 오류가 발생합니다 :

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

이것은 내가 내 주요 부트 스트랩 "수입"파일의 첫 번째-제목으로 @grid-columns 정의 할 경우에도 발생 .

livereload은 Less 파일을 컴파일하기 전에 어떤 시점에서 컴파일 된 CSS를 다시로드합니다. 이것은 불가능해야하지만, 어떻게 든 일어난다.

그러나 SSH 명령 프롬프트에서 touch myfile.less 또는 touch anybootstrapfile.less을 입력하면 모든 것이 완벽하게 작동합니다.

분명히 이것은 매우 짜증나지만 살기 좋은 것입니다. 나는 그것을 고칠 수있는 방법이 있어야한다고 생각한다. 세상에서 무슨 일이 벌어 질 수 있는지에 대한 아이디어는 무엇이겠습니까?

답변

1

WinSCP는 내부 편집기에서 파일을 저장 한 후 업로드 할 때 업로드 된 파일의 타임 스탬프를 이전보다 이전으로 설정합니다.

FTP 프로토콜 또는 Windows Vista 또는 이전 버전을 사용하는 경우 특히 그렇습니다.

은 자세한 내용은 WinSCP에 대한 FAQ를 참조하십시오
Why are the changes, I upload to webserver, not visible in the web browser?

+0

이것은 거의 확실한 해답입니다. 이 문제를 해결하기 위해 할 수있는 일이 무엇인지 궁금합니다. – user1167442

+0

이것은 내가 필요한 것을 나에게 주었지만, 해결책을보고 싶은 사람은 아래를보십시오. – user1167442

1

좋아. WinScp의 개발자는 마틴입니다. 저는 이것을 해결했습니다. 나는 gulp.wait 플러그인으로 작업하고 있었고 최종 재로드 전에 일시 중지를 삽입했는데 작동하지 않았습니다.

왜냐하면 ...은 문제가 아니 었습니다. 문제는 업로드 할 때 발생했습니다. 그 파일은 곧 '손이 닿았습니다'(또는 기능상 동등한 것을 일으키는 타임 스탬프가있는 무언가가있었습니다).

그래서 내가 덜 프로세스과 같이 불렀다 바로 직전 대기 공정 이동 : 500ms로 아마 이상, 난 거 실험 해요

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

을 needed..but 고통이 너무 오래하지. 이것은 즉시 문제를 해결했습니다.

고마워요!