Python格式化压缩后的JS文件的方法

本文实例讲述了Python格式化压缩后的JS文件的方法。分享给大家供大家参考。具体分析如下:

该脚本可以把压缩后的js文件格式上进行些还原,当然不会百分百完美,暂不处理语法问题,只是为了方便阅读js代码

lines = open("unformated.js").readlines()[0].split(";")
#一般压缩后的文件所有代码都在一行里
#视情况设定索引,我的情况时第0行是源代码。
indent = 0
formatted = []
for line in lines:
  newline = []
  for char in line:
    newline.append(char)
    if char=='{': #{ 是缩进的依据
      indent+=1
      newline.append("\n")
      newline.append("\t"*indent)
    if char=="}":
      indent-=1
      newline.append("\n")
      newline.append("\t"*indent)
  formatted.append("\t"*indent+"".join(newline))
open("formated.js","w").writelines(";\n".join(formatted))

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • 使用GruntJS链接与压缩多个JavaScript文件过程详解

    自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等.最终我想把这些多个JS文件变成 一个JS文件发布出去,于是我的问题来啦,怎么把这些JS文件搞成一个啊,群里有个 朋友告诉我,GruntJS – JavaScript多文件编译,风格检查,链接与压缩神器.Google了一 把终于帮我完成这个任务,算是入门,分享一下过程. 一什么是GruntJS 不想翻译英文,自己看它的网站吧->http://gruntjs.com/

  • angularjs客户端实现压缩图片文件并上传实例

    主要是利用html5的canvas来进行图片的压缩,然后转化为dataURL,再有dataURL转化为Blob文件,Blob对象可以直接赋值给Formdata. app.service('Util', function($q) { var dataURItoBlob = function(dataURI) { // convert base64/URLEncoded data component to raw binary data held in a string var byteString

  • 小心!AngularJS结合RequireJS做文件合并压缩的那些坑

    在项目使用了AngularJS框架,用RequireJS做异步模块加载(AMD),在做文件合并压缩时,遇到了一些坑,有些只是解决了,但不明白原因. 那些坑 1. build.js里面的paths必须跟main.js里面的保持一致. 这个build.js就是r.js使用的配置文件,而main.js就是RequireJS的main文件.在合并压缩时候,build.js文件里面也需要写paths,而且还是跟main.js一样,我很奇怪为什么就不能识别main里面的require.config的path

  • php使用gzip压缩传输js和css文件的方法

    本文实例讲述了php使用gzip压缩传输js和css文件的方法.分享给大家供大家参考.具体如下: <?php /** * 完整调用示例: * 1.combine.php?t=j&b=public&fs=jslib.jquery,function * * 该例子调用的是网站根目录下的public/jslib/jquery.js和public/function.js * * 2.combine.php?t=j&fs=jslib.jquery,function * * 该例子调用的

  • php实现压缩多个CSS与JS文件的方法

    本文实例讲述了php实现压缩多个CSS与JS文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 压缩css 复制代码 代码如下: <?php    header('Content-type: text/css');    ob_start("compress");    function compress($buffer) {        /* remove comments */        $buffer = preg_replace('!/\*[^*]*\*+(

  • IIS7下js文件启用Gzip后却不压缩的解决方法

    IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有 查找原因发现是引用js文件是没有设置type <script></script> <script src="A.js"></script> 加上type="text/java

  • GitHub上一些实用的JavaScript的文件压缩解压缩库推荐

    项目里要用到archive和unarchive整个已存在的folder,在找解决方案的时候尝试了一些当前比较流行的library,主要有adm-zip, JSZip, archiver等. 一.Use adm-zip adm-zip支持archive和unarchive一个或多个文件或者整个文件夹的功能,使用非常的简单方便. var adm_zip = require('adm-zip'); //creating archives var zip = new adm_zip(); zip.add

  • ANT 压缩(去掉空格/注释)JS文件可提高js运行速度

    1.说明在使用extjs 的时候,运行起来比较卡,特别是运行数据和js过多的时候,就会出现卡死的情况,或者等待时间比较长. 在解决这个有很多优化方法,今天来说其中一种,那就是在Ant脚本打包的时候,把js中空格.注释去掉.以及合并,合并今天不说了,还未实现这个,在研究中 2.首先,需要准备二个 .jar 文件,分别是 YUIAnt.jar 和 yuicompressor-2.4.x.jar . 3.俩个文件的附件 下载地址 4.build.xml文件如下 复制代码 代码如下: <!-- JS压缩

  • Python格式化压缩后的JS文件的方法

    本文实例讲述了Python格式化压缩后的JS文件的方法.分享给大家供大家参考.具体分析如下: 该脚本可以把压缩后的js文件格式上进行些还原,当然不会百分百完美,暂不处理语法问题,只是为了方便阅读js代码 lines = open("unformated.js").readlines()[0].split(";") #一般压缩后的文件所有代码都在一行里 #视情况设定索引,我的情况时第0行是源代码. indent = 0 formatted = [] for line

  • node下使用UglifyJS压缩合并JS文件的方法

    现在UglifyJS的最新版本为 2.8.13,主要功能为JS的压缩和合并,下面直接进入教程: 安装: <span style="font-size:18px;color:#006600;">npm install uglify-js -g</span> 将uglifyjs安装为全局变量,方便我们在任何地方使用. <span style="color:#006600;">下面是shell命令的中文解释: * source-map

  • Java批量导出word压缩后的zip文件案例

    一.js代码,由于参数比较大所以利用form表单使用post导出 function export_word(){ var selectedRows = $("#dg").datagrid("getSelections"); if (selectedRows.length==0) { showAlertWarning("请选择一条的信息..."); return; } if (selectedRows.length > 1) {//批量导出压

  • 如何解决uni-app编译后 vendor.js 文件过大

    目录 uni-app编译后vendor.js文件过大 前景 运行后发现 小程序分包后vendor还是过大 添加以下代码 uni-app编译后vendor.js文件过大 前景 采用uni-app开发的微信小程序,发布时工具提示vendor.js过大,已经跳过es6向es5转换.查看后发现编译后代码中common/vendor.js已超过500k,所以需要体积控制. HBuilderX创建的项目勾选运行–>运行到小程序模拟器–>运行时是否压缩代码 使用cli创建的项目,可以在pacakge.jso

  • 解决vue打包后vendor.js文件过大问题

    第一步.cdn引入各种包 index.html中cdn的方式引入vue.vuex.axios.element-ui.vue-router等包,如下图: 第二步.在使用vue等包的地方,注释掉import引入 在所有使用vue的地方注释掉引入的vue等包,但是Vue.use(axios).Vue.use(VueRoter).Vue.use(vuex)等依然要使用,除了Vue.use(ElementUI), 如果加上这句话,还是会打包element-ui到vendor.js文件中 在main.js

  • Python实现多级目录压缩与解压文件的方法

    本文实例讲述了Python实现多级目录压缩与解压文件的方法.分享给大家供大家参考,具体如下: 咱向来就是拿来主意,也发个东西供同行"拿来"使用吧 咱信奉的就是少量的代码完成大量的工作,虽然代码不多,但还是要用大脑的.发出来供大家参考 功能: 支持中文路径,支持多级目录 支持跨平台,在linux和window下都可直接使用 压缩的多态性 压缩包不带级父文件夹目录压缩 压缩包带父级文件夹目录 不指定目标文件与路径压缩 指定压缩包名称不指定路径压缩 还是看代码吧 #coding:utf-8

  • jquery及js实现动态加载js文件的方法

    本文实例讲述了jquery及js实现动态加载js文件的方法.分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的.除了document.write外,还有没有其他的比较好的动态加载js文件的方法. 解决方法: 1.jquery方法 $.getScript("./test.js"); //加载js文件 $.getScript("./test.js",function(){ //加载test.js,成功后,并执

  • python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 复制代码 代码如下: import xlrd 2.打开Excel文件读取数据 复制代码 代码如下: data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表

  • Python实现读取及写入csv文件的方法示例

    本文实例讲述了Python实现读取及写入csv文件的方法.分享给大家供大家参考,具体如下: 新建csvData.csv文件,数据如下: 具体代码如下: # coding:utf-8 import csv # 读取csv文件方式1 csvFile = open("csvData.csv", "r") reader = csv.reader(csvFile) # 返回的是迭代类型 data = [] for item in reader: print(item) dat

随机推荐