最近在看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的代码复制到另外一个文件里面,再处理,结果行了。。。我日了
相关推荐
- **`define` 和 `require`**: 使用 `define` 定义模块,使用 `require` 加载其他模块。 ##### 4.2 DOM - **元素获取**:使用 `document.querySelector` 或 `document.querySelectorAll` 获取 DOM 元素。 - **样式...
ocSteps 参考了 Step 的设计,但是规则还要更简单(ocSteps包括注释和疏散的空行在内也只有200 行代码);并且 ocSteps 是为复杂、动态的任务链而设计。 快速开始 异步操作 暂停计数器 并发任务 recv ...
解析gitignore 将.gitignore或.npmignore文件解析为一系列模式。 请考虑关注该项目的作者 ,并考虑为该项目以显示您的 :red_heart: 和支持。安装使用安装: $ npm install --save parse-gitignore小心!v1.0中的重大...
4. **配置文件解析**:在解析配置文件(如JSON或YAML)时,可以使用 `dedent-js` 来规范化输入。 ### 注意事项 - 虽然 `dedent-js` 很强大,但它并不处理字符串内部的缩进,只作用于行首的空白。 - 如果字符串中的...
2. 引入:在项目中引入安装好的库,通常在JavaScript文件中使用`require`或`import`语句。 3. 使用:调用库提供的API,传入待格式化的HTML字符串和可选的配置对象,即可得到美化后的HTML代码。 例如: ```...
源代码行数计数器是一种工具,用于统计各种编程语言如Java、JavaScript、HTML、C和C#等的源代码文件中的行数。这个工具在软件开发过程中具有重要的实际应用,因为它可以帮助开发者评估项目的规模,追踪工作进度,...
使用空行和适当的缩进(通常为4个空格)来组织代码块,使代码结构清晰。 4. **访问修饰符**:明智地使用`private`、`protected`、`public`以控制访问级别,确保封装。 5. **异常处理**:避免使用空的catch块,而是...
它不仅可以计算代码行数,还可以帮助开发者识别代码中的注释、空行以及实际的逻辑代码行。在软件开发过程中,代码行数统计对于理解项目规模、评估开发进度和维护成本等方面具有重要意义。PHPCloc作为一个轻量级的...
ESlint 是一个流行的静态代码分析工具,用于检测 JavaScript 代码中的潜在错误和风格问题。它可以帮助开发者保持代码的一致性和可读性。然而,对于初学者或者习惯不同编码风格的人来说,ESlint 的某些规则可能会显得...