`

用javascript将require.js文件的注释和空行去掉

 
阅读更多

最近在看require.js源码,看的差不多就想把源码上的注释跟空行去掉,得到一个“纯净版”,然后再自己添加注释。

首先用javascript读取文件,网上有人推荐用ActiveXObject对象,不过这是ie的(用的Chrome)。就将就用file框读取文件再用fileReader对象读取,文件内容

代码如下

<input type="file"id="files"name="files[]"multiple/>
		<script>
			
			var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg
			var blinkRegExp = /\n\s*\r/g;
			function handleFileSelect(evt){
				var files = evt.target.files;
				for(var i =0, f; f = files[i]; i++){
					var reader = new FileReader();
					reader.readAsText(f);
					reader.onload = function(e){
							var kk = e.target.result.replace(commentRegExp,'')
							alert(typeof(kk) === 'string')
							console.log(kk.replace(blinkRegExp,''));
						};
				}
			}

			document.getElementById('files').addEventListener('change', handleFileSelect,false);
		</script>

 关键在第二个正则,第一个匹配注释的正则require.js中自己就有。

接着找匹配空行的发现网上说法千奇百怪,就想自己写,然后各种尝试不行,最后就想了个偏招,换行是\r\n如果是有两个空行则有两个\r\n连在一起,即\r\n\r\n,去掉一个\n\r就行了。

反正是各种试都不行,最后把require.js的代码复制到另外一个文件里面,再处理,结果行了。。。我日了

分享到:
评论

相关推荐

    javascript 编程规范

    - **`define` 和 `require`**: 使用 `define` 定义模块,使用 `require` 加载其他模块。 ##### 4.2 DOM - **元素获取**:使用 `document.querySelector` 或 `document.querySelectorAll` 获取 DOM 元素。 - **样式...

    JavaScript异步执行辅助工具ocSteps.zip

    ocSteps 参考了 Step 的设计,但是规则还要更简单(ocSteps包括注释和疏散的空行在内也只有200 行代码);并且 ocSteps 是为复杂、动态的任务链而设计。 快速开始 异步操作 暂停计数器 并发任务 recv ...

    parse-gitignore:将gitignore文件解析为一系列模式。 注释和空行被删除

    解析gitignore 将.gitignore或.npmignore文件解析为一系列模式。 请考虑关注该项目的作者 ,并考虑为该项目以显示您的 :red_heart: 和支持。安装使用安装: $ npm install --save parse-gitignore小心!v1.0中的重大...

    前端开源库-dedent-js

    4. **配置文件解析**:在解析配置文件(如JSON或YAML)时,可以使用 `dedent-js` 来规范化输入。 ### 注意事项 - 虽然 `dedent-js` 很强大,但它并不处理字符串内部的缩进,只作用于行首的空白。 - 如果字符串中的...

    前端开源库-jstransformer-html-beautify

    2. 引入:在项目中引入安装好的库,通常在JavaScript文件中使用`require`或`import`语句。 3. 使用:调用库提供的API,传入待格式化的HTML字符串和可选的配置对象,即可得到美化后的HTML代码。 例如: ```...

    源代码计算行数计数器

    源代码行数计数器是一种工具,用于统计各种编程语言如Java、JavaScript、HTML、C和C#等的源代码文件中的行数。这个工具在软件开发过程中具有重要的实际应用,因为它可以帮助开发者评估项目的规模,追踪工作进度,...

    Source-Code-Conventions:Java和Nodejs编程语言的源代码约定和样式指南-C language program source code

    使用空行和适当的缩进(通常为4个空格)来组织代码块,使代码结构清晰。 4. **访问修饰符**:明智地使用`private`、`protected`、`public`以控制访问级别,确保封装。 5. **异常处理**:避免使用空的catch块,而是...

    PHPCloc用PHP编写的Cloc重复代码检查器

    它不仅可以计算代码行数,还可以帮助开发者识别代码中的注释、空行以及实际的逻辑代码行。在软件开发过程中,代码行数统计对于理解项目规模、评估开发进度和维护成本等方面具有重要意义。PHPCloc作为一个轻量级的...

    详解关闭令人抓狂的ESlint 语法检测配置方法

    ESlint 是一个流行的静态代码分析工具,用于检测 JavaScript 代码中的潜在错误和风格问题。它可以帮助开发者保持代码的一致性和可读性。然而,对于初学者或者习惯不同编码风格的人来说,ESlint 的某些规则可能会显得...

Global site tag (gtag.js) - Google Analytics