среда, 18 декабря 2013 г.

Минификация javascript файлов на python

Одним из методов увеличения скорости загрузки страницы является минификация javascript-файлов, при которой из файла удаляются комментарии, пробелы, переносы строк.
На python есть модуль jsmin, легко позволяющий сделать это. Скачайте этот модуль и достаньте из архива папку jsmin с кодом модуля.


Вот мой скрипт minifyjs.py для минификации js-файлов:
# -*- coding: utf-8 -*-
import sys
import os
from jsmin import jsmin

def get_output_path(path):
    return path.replace('.js', '.min.js')

def main():
    options = sys.argv[1:]
    if options:
        file_path = options[0]
        if not os.path.isfile(file_path):
            print 'No such file'
            return false
        
        with open(file_path) as js_file:
            minified = jsmin(js_file.read())
        if not minified:
            print 'ERROR: File was not minified'
            return false
            
        output_path = get_output_path(file_path)
        with open(output_path, 'w') as output:
            output.write(minified)
            print 'CREATED: ' + output_path
    else:
        print "\nPlease, define js file's path to minify.\nEx.: C:>..\minifyjs.py MY_JS_FILE.js"

if (__name__ == '__main__'):
    main()

Использование скрипта:
1. Поместите в папку js-файл, который нужно минифицировать, примеру jquery-autocomplete.js.
2. Запустите в консоли cmd.exe команду:
    C:\examples>minifyjs.py autocomplete.js
Здесь в качестве параметра передается путь к минифицируемому файлу.
3. В папке будет создан минифицированный файл jquery-autocomplete.min.js

Комментариев нет:

Отправить комментарий