如何使用 Python 缩小内联 javascript

How to minify inline javascript with Python

我得到的答案只涵盖 .js 文件,但我需要像这样缩小:

<script>
    window.addEventListener('load', function (e)
    {
        ...
    });
</script>

为此:

<script>window.addEventListener('load',function(e){...});</script>

实际上,在我用它编写文件之前,我使用 "htmlmin" 来缩小 HTML 代码,但内联 javascripts 保持原始格式。

有什么帮助吗?也许是一个新的包来取代 "htmlmin"。提前致谢。

使用站点 https://www.minifier.org/ 中的 REST API。

免责声明:该网站由用户@matthiasmullie 制作 https://whosebug.com/users/802993/matthiasmullie

此处示例:

from bs4 import BeautifulSoup
import requests
import json

url = 'https://minify.minifier.org/'

data = """<script>
    window.addEventListener('load', function (e)
    {
        i = 4;
    });
    </script>
"""

soup = BeautifulSoup(data, 'lxml')
script = soup.select_one('script')
r = requests.post(url, data={"source":script.text, "type" :"js"})
json_data = json.loads(r.text)
script.clear()
script.append(json_data['minified'])

print(script)

它打印:

<script>window.addEventListener('load',function(e)
{i=4})</script>