jdists 強大的代碼塊預處理工具

jopen 9年前發布 | 9K 次閱讀 jdists

 

jdists logo

背景

軟件發布流程

code pretreatment

通常軟件發布時會將源文件做一次「預處理」再編譯成可執行文件,才發布到市場。

「預處理」的目的主要是出于以下幾點

  • 配置線上運行環境,如調試服務地址需變更為實現線上地址;
  • 減少執行程序的大小,移除沒有使用的代碼或資源并壓縮;
  • 增加逆向工程的成本,給代碼做混淆(包括改變標識符和代碼結構),降低可讀性;
  • 移除或增加調試功能,關閉或開啟一些特權后門。

一些 IDE 已在「編譯」時集成了「預處理」功能。

什么是 jdists

jdists 是一款強大的代碼塊預處理工具。

什么是「代碼塊」(code block)?

通常就是注釋或注釋包裹的代碼片段,用于表達各種各樣的含義。

舉個栗子

  • TODO 注釋,表示代碼中待完善的地方
/* TODO 功能待開發 */

  • wiredep 注釋,表示引入 bower 組件依賴的 css 資源
  <!-- bower:css -->
  <link rel="stylesheet" href="bower_components/css/bootstrap.css" />
  <!-- endbower -->

jshint.js 頂部注釋,表示版權聲明
/*!
 * JSHint, by JSHint Community.
 *
 * This file (and this file only) is licensed under the same slightly modified
 * MIT license that JSLint is. It stops evil-doers everywhere:
 *
 *   Copyright (c) 2002 Douglas Crockford  (www.JSLint.com)
 * .........
 */

  • jshint.js 另一部分注釋,表示代碼檢查配置項
/*jshint quotmark:double */
/*global console:true */
/*exported console */

總之,本文所指「代碼塊」就是有特殊意義的注釋。

什么是「代碼塊預處理」?

指在代碼編譯之前,將代碼文件按代碼塊粒度做一次編碼或解析。

舉個栗子,原本無效的代碼片段,經過編碼后變成了有效代碼。

預處理前:

/*<jdists> console.log('Hello World!'); </jdists>*/

預處理后:

console.log('Hello World!');

項目主頁:http://www.baiduhome.net/lib/view/home/1438772495020

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!