我開始了我的第一個大型JavaScript項目!我有一個關於部署的問題。我正在使用ajax調用web服務。要設置這個,我有一個靜態的JS文件,代碼如下:Javascript構建工具在生產/部署之間切換網址/變量
var API_URL_ROOT = 'http://api.example.com/';
var IN_DEVELOPMENT = True;
if (IN_DEVELOPMENT) {
API_URL_ROOT = 'http://localhost.com/api';
}
$.get(API_URL_ROOT)
我正在使用python/fabric進行部署。 我想知道是否有任何預編譯的工具來處理JavaScript文件的靜態分析/操作。,現在它的葉子切換到commiters
我正打算在部署過程中,如:
- 問題部署命令
- 「構建」 JS,所有值設置爲生產值(即。
IN_DEVELOPMENT = False
) - 縮減大小JS
- 部署代碼到生產服務器
我正在考慮使用sed或其他東西來替換IN_DEVELPMENT = False
。我已經看過一些流行的縮小工具,但似乎沒有提供這種功能。
我會假設這是一個應用程序很常見的問題。它通常如何處理?任何幫助,將不勝感激。謝謝
我最近在hackernews讀取article從Mozilla的:
在Mozilla假面代碼庫,我們經常暴露難以 測試私有函數的公共接口,清楚地標明瞭 額外功能測試API的一部分。雖然其他開發者仍然可以調用這些私有函數,但作者的意圖 已清楚。之間
...
publicFunction: function() {
return "publicFunction can be invoked externally but "
+ privateFunction();
}
// BEGIN TESTING API
,
privateFunction: privateFunction
// END TESTING API
};
// privateFunction is now accessible via the TESTING API
function privateFunction() {
...
典//開始測試API和// END測試API 僞標記可以在生產過程中生成過程被去除。
所以其他公司肯定是這樣做的。是否有預製工具來促進可以移除此代碼的JS構建過程?我瞥了一眼他們在github上的一些項目,但沒有看到任何項目。謝謝
http://dojotoolkit.org/reference-guide/1.8/build/exclude.html – Redian
哇非常強大謝謝!我從來沒有使用dojo我必須檢查出來 – dm03514