2017-08-18 46 views
0

我試圖在控制訪問互聯網的機器上安裝一些npm軟件包。我可以要求網絡小組授予我訪問遠程主機/端口的權限,但我不清楚我需要訪問哪些主機/端口。如何確定npm包的託管位置?

所有通過npm安裝的軟件包是否可通過單個主機/端口使用?如果不是,我如何確定我需要訪問的主機/端口列表?

我明白,從安全角度來看,打開npm主機/端口的訪問權限可能並不是最好的方法,並且可能會更好地將npm模塊下載到單獨的機器上,然後將其上傳到我的安全主機。

+1

有用於存儲NPM套餐兩個標準的地方:'的https:// npmjs.com'和'的https:// github.com'。您只能訪問他們。 – alexmac

+0

如果您想將其轉換爲答案,我會很樂意接受和贊成。 –

回答

1

存儲npm包有兩個標準位置:https://registry.npmjs.orghttps://github.com。您只能訪問他們。

安裝一些包,並創建NPM-shrinkwrap.json文件(使用命令npm shrinkwrap爲NPM < 5,在NPM> 5這個文件被稱爲包lock.json和它的自動生成的)。打開創建的鎖文件,看看每個包的resolved字段。

npm.shrinkwrap文件的一部分:

"lodash": { 
    "version": "4.17.4", 
    "from": "[email protected]", 
    "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" 
}, 

"ng-bootstrap-lightbox": { 
    "version": "1.0.1", 
    "from": "git+https://github.com/themyth92/ng-bootstrap-lightbox.git", 
    "resolved": "git+https://github.com/themyth92/ng-bootstrap-lightbox.git#b44c086723ccf066834b3edb654273c4661a4ad1" 
}