2014-11-13 34 views
1

Browserify的"browser" fieldpackage.json似乎過載,我無法想出一個辦法來解決這個問題Browserify:覆蓋包,並使用不同的主文件

我怎麼會墊片在瀏覽器沒有必要的幾個包(例如爲wscanvas),同時還改變了"main"文件browserify的使用

我希望這樣的事情會工作

{ 
    "browser": { 
     "ws": "./src/browser/ws-shim", 
     "main": "./src/BrowserVersion" 
    } 
} 

src/browser/ws-shim

module.exports = global.WebSocket; 

Repository in question有一些特殊的節點功能,如超過TCP服務和stream支持,這將沒有意義的瀏覽器。同時,我們使用幾個瀏覽器API的節點端口共享代碼NodeBrowserify lib版本

回答

4

使用browser鍵映射到您的主文件。

{ 
    "browser": "./src/browserIndex.js" 
} 

然後使用aliasify變換來映射其餘依賴關係。

{ 
    "browserify": { 
     "transform": [ "aliasify" ] 
    }, 
    "aliasify": { 
     "aliases": { 
      "ws": "./src/browser/ws-shim" 
     } 
    }, 
    "devDependencies": { 
     "aliasify": "^1.4.0" 
    } 
} 
+1

謝謝我會試一試,別名必須是項目的依賴項? – megawac

+1

是的,我補充說,以我的例子 –

+0

我沒有運氣與該配置https://gist.github.com/megawac/e5ecbffd336557aff456(https://github.com/megawac/roslibjs/tree/browserify) – megawac