2012-06-21 42 views
3

我已經開始玩弄SourceMaps,並且想知道是否有一種方法可以自動設置適當的標頭,如果使用.htaccess的JavaScript請求存在.map文件,而不必修改原始的JavaScript文件。爲JavaScript請求自動添加SourceMap標頭

我已經做同樣的服務精縮的JavaScript,如果它存在的東西,我沒有調試:

RewriteCond %{REQUEST_FILENAME}  \.(php|js) 
RewriteRule .       - [E=DEBUG:true] 

RewriteCond %{ENV:DEBUG}    !^true$ 
RewriteCond %{REQUEST_URI}    ^(.+)\.js$ 
RewriteCond %{DOCUMENT_ROOT}%1-min.js -f 
RewriteRule .       %1-min.js [L] 

我想這基本上可以歸結爲:我怎麼可以添加額外的HTTP標頭如果某個文件是否存在某種類型的請求?

UPDATE

溶液如下:

# If serving minified js and a SourceMap file exists, send appropriate header 
RewriteCond %{REQUEST_URI}   ^(.+-min\.js)$ 
RewriteCond %{DOCUMENT_ROOT}%1.map -f 
RewriteRule .      - [L,E=SOURCE_MAP:%{REQUEST_URI}.map] 

Header set X-SourceMap "%{SOURCE_MAP}e" env=SOURCE_MAP 

回答

2

見內華達州斯托克斯作出編輯上述用於最終溶液

RewriteCond %{REQUEST_FILENAME}  \.(php|js) 
RewriteRule .       - [E=DEBUG:true] 

RewriteCond %{ENV:DEBUG}    !^true$ 
RewriteCond %{REQUEST_URI}    ^(.+)\.js$ 
RewriteCond %{DOCUMENT_ROOT}%1-min.js -f 
RewriteRule [^/]+\.js$     %1-min.js [L,E=SOURCE_MAP:%{REQUEST_URI}] 

Header set X-SourceMap "%{SOURCE_MAP}e" env=SOURCE_MAP 

我無法測試頁眉因爲我的測試服務器沒有安裝mod_headers。

+2

感謝您指引我朝着正確的方向@Gerben - 我會接受您的回答,但我需要做一些改動,我會在原始問題中發佈最終解決方案。 –

+0

感謝分享:-) – Gerben