前言
因為眾所周知的原因,使用node
,官方NPM
倉庫安裝依賴包是個看人品的事情,不過有萬能的淘寶,所以需要部分調整就可以避免這些原因。(以下內容osx
, centos
下測試通過)
淘寶鏡像基本使用
首先是版本管理,NODE
更新迭代較快,推薦使用NVM
來進行版本管理,因為NVM
支持鏡像選項,所以,簡單設置環境變量即可:
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
其次是NPM
倉庫:
npm --registry=https://registry.npm.taobao.org install -g cnpm
然后使用cnpm
來處理一切包安裝即可,不過,如果提交包到官方倉庫,只能使用NPM
,實在不行就開VPN
。。。。。
最后是前端測試經常會用到的幾個依賴, chromedriver
, phantomjs
, selinium
export PHANTOMJS_CDNURL=http://npm.taobao.org/mirrors/phantomjs export CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver export SELENIUM_CDNURL=http://npm.taobao.org/mirrorss/selenium
大部分場景足以應付,不過也有例外。
使用angular
配套的protractor
進行E2E
測試時,selenium
, chromedriver
是通過自帶的webdriver-manager
來管理,目測貌似不支持環境變量的方式,所以需要麻煩一點:
# 路徑為/usr/local/lib/node_modules/protractor/bin/ cat webdriver-manager \ | gawk '{gsub(/https:\/\/chromedriver.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/chromedriver/", $0); print $0 }' \ | gawk '{gsub(/https:\/\/selenium-release.storage.googleapis.com\//,"http://npm.taobao.org/mirrors/selenium/", $0); print $0 }' \ > driver-manager chmod u+x driver-manager ln -s /usr/local/lib/node_modules/protractor/bin/driver-manager /usr/local/bin/driver-manager
以上為自己使用所做,可能略顯繁瑣。基於自帶的webdriver-manager
,替換掉相應路徑為鏡像路徑,生成新的driver-manager
,然后世界就安靜了。