config.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. (function ($) {
  2. var baseUrl = '', //网站的根目录地址,发布到线上时使用
  3. jsBase = '/assets/js';
  4. function isRelative(url){
  5. if(!/:/.test(url)){
  6. return true;
  7. }
  8. }
  9. function formatUrl(url){
  10. if(isRelative(url)){
  11. var path = getCurrentPath();
  12. return path +'/'+ url;
  13. }
  14. return url;
  15. }
  16. function getCurrentPath(){
  17. var url = location.href,
  18. lastIndex;
  19. url = url.replace(/\?.*$/,'').replace(/\#.*$/,'');
  20. lastIndex = url.lastIndexOf('/');
  21. return url.substring(0,lastIndex);
  22. }
  23. function getBaseUrl(){ //根据config.js的路径取baseUrl
  24. var scripts = $('script'),
  25. rst = '';
  26. $.each(scripts,function(index,script){
  27. var src = script.src,
  28. lastIndex = src.indexOf(jsBase + '/config');
  29. if(lastIndex !== -1){
  30. rst = src.substring(0,lastIndex);
  31. return false;
  32. }
  33. });
  34. return formatUrl(rst);
  35. }
  36. if(!baseUrl){//如果未指定项目路径,进行匹配。
  37. baseUrl = getBaseUrl();
  38. baseUrl = baseUrl.replace(/(.*)\/$/,'$1');
  39. }
  40. BUI.config({
  41. alias : {
  42. 'common' : baseUrl + jsBase + '/common',
  43. 'module' : baseUrl + jsBase + '/module'
  44. }/*,
  45. map : [ //调试环境下使用'*.js',如果发布上线前,使用*-min.js去掉下面的map
  46. [/common\/(.*)-min.js/,'common/$1.js'],
  47. [/module\/(.*)-min.js/,'module/$1.js']
  48. ]*/
  49. });
  50. })(jQuery);