나는 누구의 디렉토리 구조를 다음과 같습니다 웹 응용 프로그램을 가지고있다. 그리고 변경, 처리 또는 복사 할 때. 파일을 불필요하게 복사하거나 처리하지 않기를 바란다. 나는 Gruntfile을 사용하여 이것을 수행하는 방법을 알아 내려고 노력 중이며, 꽤 까다 롭습니다.GruntJS는 어떻게 모든 파일을 보지만 변경된 파일 만 처리합니까?</p> <pre><code>src/ - styles/ - a.css - b.css - c.scss - d.scss - media/ - d.jpg - e.png - f.mpf dest/ - css/ - media/ package.json Gruntfile.js </code></pre> <p>내가 변경 파일을보기 위해 Gruntfile를 사용하려면 :
저는 C++과 메이크 파일의 세계에서 왔습니다. 파생 된 각 파일에 대해 파생 된 명령과 파생 된 파 일이 직접 종속되어있는 파일을 지정했기 때문에 이러한 파일은 훌륭했습니다. 종속 파일이 대상보다 새로운 파일이면 명령이 실행됩니다. 종속성 파일 중 하나라도 없으면 동일한 재귀 적 논리를 기반으로 생성됩니다.
그랑 트에서 어떻게 같은 결과를 얻을 수 있습니까? 시계를 지정하면 여러 파일에서 변경 사항을 볼 수 있습니다. 그러나 사용자가 실행하는 명령은 대개 변경된 파일에만 국한되지 않습니다.
내 Gruntfile은 here입니다. 나는 다음과 같은 3 개 규칙을 구현하기 위해 수정할 수있는 방법을 나에게 보여주십시오
- 모든 파일 SRC / 스타일/.scss 변경, 말대꾸로 컴파일 및 이명 령/CSS/ .CSS에 결과를 배치 할 때. src/styles/.css 파일이 변경되면 dest/css/ .css로 복사하십시오. 그런 다음 신지 할 작게하다/CSS/*. min.css
- 모든 파일 SRC / 미디어/* 변경,/dest로하는 복사 미디어/*
나는이 규칙은 일반적인되고 싶어요. IE : b.scss
과 d.scss
에 대한 별도의 규칙을 작성하고 싶지 않습니다. 모든 단일 파일에 대해 유사한 규칙을 명시 적으로 지정해야한다는 것은 멍청한 것처럼 보입니다.
'watch : {/ * ... * /}'객체 아래의 모든 값은 모두'grunt watch '에서 실행될 설정 객체이며, 주어진 세트가 실행될 때 실행할 태스크 세트를 지정합니다 에프 iles가 변경됩니다. –
예 William. 그러나 어떻게 알 수 있습니까? * 파일 c.scss가 변경되면 c.scss에서만 sass를 실행 한 다음 결과 .css 파일을 dest/css/c.css에 넣습니다. 그런 다음 dest/css/c.min.css *에 minfiy dest/css/c.css 만? –
는'files' 속성에 c.scss를 지정합니다 –