2016-07-11 5 views
6

누군가 도움이 될지 궁금 해서요. 현재 es6> es5로 바벨을 사용하고있는 빌드 프로세스를 끝내려고합니다. 그 후, uglifyJS를 재귀 적으로 사용하고 싶습니다. NPM 스크립트를 사용하여 내 모든 .js 파일을 축소하십시오 (과장 또는 꿀꺽 마심).UglifyJS - 폴더에있는 모든 .js를 변환하십시오.

내가 원하는 것;

  • 변환 폴더에있는 모든의 .js 새 폴더

밖으로

  • 복사 매핑 소스를 작성 추하게
  • 사용하여 특정 폴더에
  • 스크립트의 축소 모두의 .js 파일을 ES5 내 현재 설정;
    • 모든 ES5는
    (그러나 더 sourcemaps 또한 ES5 JS 파일을 다른 폴더로 이동 할 지원을 프로그래머 없기 때문에 교체, 생성되지 않습니다) .js 파일
  • 스크립트의 축소를 ES5 모든의 .js 변환 여기

    내 package.json 스크립트 섹션

    입니다 https://www.npmjs.com/package/recursive-uglifyjshttps://www.npmjs.com/package/uglifyjs-folder 그러나이 모두는 내가 필요로하는 빌드 단계를 수행 할 수없는 것 :

    나는 시도했다3210

    "babel": "babel js_uncompiled --out-dir js_uncompiled/es5 --source-maps && npm run npm:uglify", 
        "build": "npm run babel", 
        "uglify": "recursive-uglifyjs js_uncompiled/es5" 
    
    당신은 여기 내 전체 package.json에 대한 링크를 찾을 수 있습니다

    : http://pastebin.com/4UHZ1SGM

    감사 편집을 할

  • 답변

    0

    가 : 의견

    그래서

    에서 정보를 포함, 지금 uglifyjs-folder는 설정 파일을 전달하는 옵션이 있습니다 그래서 모든 uglify의 명령을 실행할 수 있지만 전체 폴더에서 (그리고 당신은 조화를 사용하여 ES5로 전환 할 수 있습니다 - as stated in comments).

    참고이 하나의 출력 파일 (연결된)를 생성 할 수 있습니다 uglifyjs 폴더 때문에, 수동으로 cat 또는 다른 쉘 명령하는 것보다 더 사용하기 간단합니다. (프로젝트의 루트 폴더에있는) 구성 파일 예 (안 필요한 모든 옵션)에 대한 포함

    실행 uglifyjs-folder "%CD%" --config-file "uglify.config.json" --output "folder" -e :

    { "compress": true, "mangle": true, "sourceMap": { "base": "input/path/", "content": "input/sourcemap", "filename": "{file}.min.js", "includeSources": true, "root": "original/source/path", "url": "source/path" } }

    것을 제외하고는 : 현재 자신 하나 open issue이 소스 - 때문에 매핑으로 인해 오류가 발생합니다. 문제가 해결되면 여기에서 내 대답을 업데이트 할 것입니다.

    업데이트 : 확인, 문제가 해결 된, 버전 1.5 릴리스 됨! 위 코드가 업데이트되었습니다

    +1

    이제 'uglifyjs-folder'는 하모니를 사용하여 ES5로 전환 될 수 있습니다. –

    +0

    고맙습니다 @PranavSingh, 내 대답 업데이트 –

    관련 문제