디렉토리의 모든 CSS 및 Javascript 축소

스파이크

디렉토리의 내용을 패키징하고 모든 JavaScript 및 CSS 스크립트를 축소하는 파이썬 스크립트를 만들려고합니다.

아래 코드 (게시물 하단)를 사용했고 내부 디렉토리 구조 theme_files는 다음과 같습니다.

\
 |-assets\
 |        |-css\
 |        |     |-theme.css
 |        |     |-stylesheet.css
 |        |
 |        |-js\
 |        |    |-theme.js
 |        |    |-page.js
 |
 |-index.html

(더 나은 방법이 있습니까?)

전체 디렉토리 구조를 생성 된 .pak파일로 올바르게 출력합니다 . 그러나 축소 된 css 및 javascript 파일에는 자체 파일 이름 이외의 내용이 없습니다.

예 : 파일의 내용 (최소화) theme.css은 "theme.css"입니다.

그게 다야. 다른 것은 없습니다. 한 줄.

내가 뭘 잘못하고 있는지 아십니까?


import io
import os
import zipfile
import rcssmin
import rjsmin

pakName = input("Theme Name: ").replace(" ", "_").lower()

themePak = zipfile.ZipFile(pakName +".tpk", "w")

for dirname, subdirs, files in os.walk("theme_files"):
    themePak.write(dirname)
    for filename in files:
        if not filename.endswith((".css", ".js")):
            themePak.write(os.path.join(dirname, filename))

        if filename.endswith(".css"):
            cssMinified = io.StringIO()
            cssMinified.write(rcssmin.cssmin(filename, keep_bang_comments=True))
            themePak.writestr(os.path.join(dirname, filename), cssMinified.getvalue())

        if filename.endswith(".js"):
            jsMinified = io.StringIO()
            jsMinified.write(rjsmin.jsmin(filename, keep_bang_comments=True))
            themePak.writestr(os.path.join(dirname, filename), jsMinified.getvalue())

themePak.close()
스파이크

@Squall이 언급했듯이

rcssmin.cssmin () 및 rjsmin.jsmin ()은 첫 번째 요소가 문자열로 축소 할 CSS 각각 JS 코드가 될 것으로 예상합니다. CSS 및 JS 파일을 직접 열고 읽어야합니다.


if filename.endswith(".css"):
    with open(os.path.join(dirname, filename), "r") as assetfile:
        assetdata = assetfile.read().replace("\n", "")
    cssMinified = io.StringIO()
    cssMinified.write(rcssmin.cssmin(assetdata, keep_bang_comments=True))
    themePak.writestr(os.path.join(dirname, filename), cssMinified.getvalue())

if filename.endswith(".js"):
    with open(os.path.join(dirname, filename), "r") as assetfile:
        assetdata = assetfile.read().replace("\n", "")
    jsMinified = io.StringIO()
    jsMinified.write(rjsmin.jsmin(assetdata, keep_bang_comments=True))
    themePak.writestr(os.path.join(dirname, filename), jsMinified.getvalue())

if위 코드 에서 내 진술 의 변경 사항 은 자산 파일을 문자열로 연 다음 축소를 위해 전달합니다.

나는 당신이 os.path.join()파일 이름과 디렉토리를 확인해야하는 어려운 방법을 배웠다 .

with open(os.path.join(dirname, filename), "r") as assetfile:
    assetdata = assetfile.read().replace("\n", "")

그런 다음 축소 assetdata하고 파일에 씁니다. (이 경우 메모리 개체입니다.)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

htaccess는 하위 디렉토리를 지정하지 않고 모든 이미지, css 및 javascript를 리디렉션합니다.

분류에서Dev

디렉토리 및 하위 디렉토리의 모든 txt 파일에 쓰기

분류에서Dev

CSS 및 JavaScript로 HTML 축소 아코디언 만들기

분류에서Dev

WKWebview를 사용하여 iPad의 Document 디렉토리에서 javascript 및 css 리소스를로드하는 방법은 무엇입니까?

분류에서Dev

디렉토리 및 그 안의 모든 것에 대한 권한 / 소유권 강제

분류에서Dev

CSS를 사용한 "사용자 정의"요소 및 디렉토리 isses

분류에서Dev

NSLibraryDirectory의 모든 파일 및 디렉토리 이름 바꾸기

분류에서Dev

imagemagick convert-디렉토리의 모든 파일 압축

분류에서Dev

단일 유형의 파일로 모든 빈 디렉토리 및 디렉토리 찾기

분류에서Dev

하위 디렉토리 및 상위 디렉토리의 모든 c 파일 나열

분류에서Dev

하위 디렉토리 및 상위 디렉토리의 모든 c 파일 나열

분류에서Dev

디렉토리 및 하위 디렉토리의 모든 텍스트를 대체하는 bash 함수

분류에서Dev

Bower + Gulp : 모든 CSS를 하나의 파일로 축소

분류에서Dev

Linux 명령 줄. 일부 파일 및 디렉토리를 제외하고 디렉토리의 모든 파일 및 디렉토리 이동

분류에서Dev

CSS-IE 및 Chrome의 메뉴 축소

분류에서Dev

URL에서 지정된 디렉토리의 모든 하위 디렉토리를 제외하는 Javascript 정규식

분류에서Dev

Java의 하위 디렉토리 및 기본 디렉토리 모니터링

분류에서Dev

imagemagick을 사용하여 디렉토리의 모든 이미지, jpg를 다른 디렉토리로 축소하는 방법

분류에서Dev

Mac OS X에서 명령 줄 "zip"도구를 사용하여 디렉토리 및 하위 디렉토리의 파일을 재귀 적으로 압축하고 모든 하위 폴더에서 .DS_Store 파일을 제외합니다.

분류에서Dev

모든 파일 및 디렉토리를 대상 디렉토리로 이동

분류에서Dev

모든 파일 및 디렉토리를 대상 디렉토리로 이동

분류에서Dev

디렉토리 및 하위 디렉토리에서 모든 파일 찾기

분류에서Dev

Unix zip 디렉토리이지만 특정 하위 디렉토리 (및 그 안의 모든 디렉토리)는 제외되었습니다.

분류에서Dev

glob ()없이 폴더 및 디렉토리의 모든 파일 제거

분류에서Dev

현재 디렉토리의 모든 항목을 압축합니다.

분류에서Dev

하위 디렉토리의 모든 파일을 압축 해제하는 방법

분류에서Dev

디렉토리의 모든 파일을 압축 하시겠습니까?

분류에서Dev

JavaScript / HTML5의 디렉토리에서 모든 파일로드

분류에서Dev

프로덕션 환경을 위해 MEAN.JS의 모든 js 및 css를 축소하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    htaccess는 하위 디렉토리를 지정하지 않고 모든 이미지, css 및 javascript를 리디렉션합니다.

  2. 2

    디렉토리 및 하위 디렉토리의 모든 txt 파일에 쓰기

  3. 3

    CSS 및 JavaScript로 HTML 축소 아코디언 만들기

  4. 4

    WKWebview를 사용하여 iPad의 Document 디렉토리에서 javascript 및 css 리소스를로드하는 방법은 무엇입니까?

  5. 5

    디렉토리 및 그 안의 모든 것에 대한 권한 / 소유권 강제

  6. 6

    CSS를 사용한 "사용자 정의"요소 및 디렉토리 isses

  7. 7

    NSLibraryDirectory의 모든 파일 및 디렉토리 이름 바꾸기

  8. 8

    imagemagick convert-디렉토리의 모든 파일 압축

  9. 9

    단일 유형의 파일로 모든 빈 디렉토리 및 디렉토리 찾기

  10. 10

    하위 디렉토리 및 상위 디렉토리의 모든 c 파일 나열

  11. 11

    하위 디렉토리 및 상위 디렉토리의 모든 c 파일 나열

  12. 12

    디렉토리 및 하위 디렉토리의 모든 텍스트를 대체하는 bash 함수

  13. 13

    Bower + Gulp : 모든 CSS를 하나의 파일로 축소

  14. 14

    Linux 명령 줄. 일부 파일 및 디렉토리를 제외하고 디렉토리의 모든 파일 및 디렉토리 이동

  15. 15

    CSS-IE 및 Chrome의 메뉴 축소

  16. 16

    URL에서 지정된 디렉토리의 모든 하위 디렉토리를 제외하는 Javascript 정규식

  17. 17

    Java의 하위 디렉토리 및 기본 디렉토리 모니터링

  18. 18

    imagemagick을 사용하여 디렉토리의 모든 이미지, jpg를 다른 디렉토리로 축소하는 방법

  19. 19

    Mac OS X에서 명령 줄 "zip"도구를 사용하여 디렉토리 및 하위 디렉토리의 파일을 재귀 적으로 압축하고 모든 하위 폴더에서 .DS_Store 파일을 제외합니다.

  20. 20

    모든 파일 및 디렉토리를 대상 디렉토리로 이동

  21. 21

    모든 파일 및 디렉토리를 대상 디렉토리로 이동

  22. 22

    디렉토리 및 하위 디렉토리에서 모든 파일 찾기

  23. 23

    Unix zip 디렉토리이지만 특정 하위 디렉토리 (및 그 안의 모든 디렉토리)는 제외되었습니다.

  24. 24

    glob ()없이 폴더 및 디렉토리의 모든 파일 제거

  25. 25

    현재 디렉토리의 모든 항목을 압축합니다.

  26. 26

    하위 디렉토리의 모든 파일을 압축 해제하는 방법

  27. 27

    디렉토리의 모든 파일을 압축 하시겠습니까?

  28. 28

    JavaScript / HTML5의 디렉토리에서 모든 파일로드

  29. 29

    프로덕션 환경을 위해 MEAN.JS의 모든 js 및 css를 축소하는 방법은 무엇입니까?

뜨겁다태그

보관