bower 是一個常用的套件管理工具,用起來和npm很相似,但是兩者又有一些區別,可以參考 —— What is the difference between Bower and npm。這裡不說bower本身,而想說bower的overrides配置。
override 本身是覆蓋的意思,實際上,它的作用也是用來覆蓋依賴套件原有的配置。如果是手動引入 bower 依賴套件的檔案的話,這個配置沒什麼用,但是當你使用如wiredep這種自動注入工具時,overrides就很有用了。
例如我們用bower安裝了ace-builds 套件:
bower install ace-builds --save
然後使用wiredep自動注入bower依賴:
$ node > require('wiredep')({ src: 'index.html' });
(具體命令參見wiredep文件)
你會發現ace-builds 相關文件一個也沒有註入index.html 中,這是為什麼呢?
開啟ace-builds 的依賴套件的bower.json 檔案:
#你會發現裡面並沒有設定main
選項,而wiredep 的自動注入其實就是根據每個依賴套件中的main
選項來決定注入哪些檔案的。沒有main
,wiredep自然沒辦法自動注入了。
這時 overrides 選項就派上用場了,我們可以這麼定義:
"overrides": { "ace-builds": { "main": [ "src-min-noconflict/ace.js", "src-min-noconflict/mode-yaml.js", "src-min-noconflict/mode-javascript.js", "src-min-noconflict/theme-github.js", "src-min-noconflict/ext-language_tools.js" ] } }
指出我們需要自動注入的檔案。
#以上是bower overrides的配置方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!