2016-08-05 3 views
3

저는 Grunt를 실행 중이며 외부 폴더에 생성 된 파일을 배치하기 위해 docker (jsdocs)를 얻을 수 없습니다. 어떤 "dest"를 전달하든 관계없이, 생성 된 html 파일은 여전히 ​​javascript 파일과 같은 디렉토리에 저장됩니다.Grunt/Docker 파일 경로

그런트 구축 -v 로그 :

Running "docker:build" (docker) task 
Verifying property docker.build exists in config...OK 
Files: C:/mysite/src/html/scripts/components/app-helpers.js -> jsdocs/app-helpers.js 
Files: C:/mysite/src/html/scripts/components/datatables-functions.js -> jsdocs/datatables-functions.js 
Files: C:/mysite/src/html/scripts/components/highcharts-functions.js -> jsdocs/highcharts-functions.js 
Files: C:/mysite/src/html/scripts/components/pagination.js -> jsdocs/pagination.js 
Files: C:/mysite/src/html/scripts/components/resizer.js -> jsdocs/resizer.js 
Files: C:/mysite/src/html/scripts/components/slideout.js -> jsdocs/slideout.js 
Files: C:/mysite/src/html/scripts/components/tabs.js -> jsdocs/tabs.js 
Files: C:/mysite/src/html/scripts/components/ui.js -> jsdocs/ui.js 
Files: C:/mysite/src/html/scripts/components/widget.js -> jsdocs/widget.js 
Files: C:/mysite/src/html/scripts/components/widgets/cards.js -> jsdocs/cards.js 
Files: C:/mysite/src/html/scripts/components/widgets/figures.js -> jsdocs/figures.js 
Files: C:/mysite/src/html/scripts/components/widgets/flip-card.js -> jsdocs/flip-card.js 
Files: C:/mysite/src/html/scripts/components/widgets/list-view.js -> jsdocs/list-view.js 
Files: C:/mysite/src/html/scripts/components/widgets/projects.js -> jsdocs/projects.js 
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[] 
Options: onlyUpdated=false, colourScheme="default", ignoreHidden=false, sidebarState, exclude=false, lineNums=false, js=[], css=[], extras=[] 
Destination: jsdocs/app-helpers.js 
Destination: jsdocs/datatables-functions.js 
Destination: jsdocs/highcharts-functions.js 
Destination: jsdocs/pagination.js 
Destination: jsdocs/resizer.js 
Destination: jsdocs/slideout.js 
Destination: jsdocs/tabs.js 
Destination: jsdocs/ui.js 
Destination: jsdocs/widget.js 
Destination: jsdocs/cards.js 
Destination: jsdocs/figures.js 
Destination: jsdocs/flip-card.js 
Destination: jsdocs/list-view.js 
Destination: jsdocs/projects.js 
Generated: C:\mysite\src\html\scripts\components\app-helpers.js.html 
Generated: C:\mysite\src\html\scripts\components\datatables-functions.js.html 
Generated: C:\mysite\src\html\scripts\components\highcharts-functions.js.html 
Generated: C:\mysite\src\html\scripts\components\pagination.js.html 
Generated: C:\mysite\src\html\scripts\components\resizer.js.html 
Generated: C:\mysite\src\html\scripts\components\slideout.js.html 
Generated: C:\mysite\src\html\scripts\components\tabs.js.html 
Generated: C:\mysite\src\html\scripts\components\ui.js.html 
Generated: C:\mysite\src\html\scripts\components\widget.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\cards.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\figures.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\flip-card.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\list-view.js.html 
Generated: C:\mysite\src\html\scripts\components\widgets\projects.js.html 
Saved file tree to doc-filelist.js 
Copied JS to doc-script.js 
Copied default.css to doc-style.css 
Done. 

명령 줄 로그를 기반으로

docker: { 
      build: { 
       expand: true, 
       flatten: true, 
       cwd: String(global_scripts_folder).replace(/\\\\/g, "/").replace(/\\/g, "/"), 
       src: ['components/**/*.js'], 
       dest: 'jsdocs', 
       options: { 
        //template : "node_modules/ink-docstrap/cosmo", 
        //configure : "node_modules/ink-docstrap/template/jsdoc.conf.json" 
       } 
      } 
     }, 
+0

당신은 윈도우 머신에 있습니다. 그래서 나는이 줄'cwd : String (global_scripts_folder) .replace (/ \\\\/g, "/").replace(/\\/g,"/ ")'에 대해 확신하지 못한다. 리눅스와 달리 윈도우 디렉토리 경로는'\ '슬래시를 기반으로한다고 생각합니다. 정규 표현식을 주석 처리하고 작동하는지 확인해보십시오. –

+0

맞습니다. 저는 Windows Machine입니다. 정규 표현식을 지우려고했는데 같은 결과가 나왔습니다. 모든 대상 경로를 올바르게 인쇄 한 다음 생성 된 파일을 그 경로에 배치하지 않는 것은 이상합니다. –

+0

감사합니다. @ user2094477 저를 다시 만나러 왔습니다. 나는 해답으로 해답을 작성하고 귀하의 의견에 질문에 대답하려고했습니다. 답변 옆에있는 '눈금'을 클릭하면 답변으로 표시됩니다. 그래서 우리는이 문제를 종결시킬 수 있습니다. 감사. –

답변

0

내 설정은, 따라서 윈도우 상자이 정규 표현식에 해당 툴툴 거리는 소리 파일을 실행처럼 들린다;

cwd: String(global_scripts_folder).replace(/\\\\/g, "/").replace(/\\/g, "/")

하면 단순히 때문에 슬퍼 될 수 있습니다; Windows 디렉토리 경로는 \ 슬래시를 기반으로합니다.

여기에서 문제는 regexpr이 모든 슬래시를 Windows에서 Linux 환경으로이 Grunt 파일을 이식 할 경우 작동 할 백 슬래시로 바꾸려고하는 것입니다.

Q : 모든 대상 경로를 올바르게 인쇄 한 다음 생성 된 파일을 배치하지 않는 것은 이상한 일입니다.

대답 : 그루트의 -v 자세한 정보 표시 모드가 올바르게보고됩니다. 파일의 이름이 이고 이제는 datatables-function.js이 아니라는 것입니다. 어떻게 든 windows는 전체 파일 이름으로 해석해야합니다.

희망이 도움이됩니다.

+0

사실, 나는 윈도우 머신에있다. 선택에 의한 것이 아니다.). 내 전체 gruntfile은 아무 문제없이 슬래시를 사용하고 있습니다. 바꾸기 기능을 제거해도 결과는 여기에 영향을 미치지 않으며 저장되는 파일에는 'jsdocs /'가 없습니다. 그들은 끝에 추가 된 html 확장자와 동일한 이름을 가지며 js 파일 바로 옆에 배치됩니다. 그러나 doc-filelist.js, doc-script.js 및 doc-style.css라는 파일은 올바른 디렉토리 (jsdocs)에 저장됩니다. –