最近寫了一個小例子,可是一個page.click不管如何也不能正常操做,語法這麼簡單不可能有錯。因而找緣由,瀏覽器的問題嗎?各類開發環境切換,nodejs版本換到較老的版本,npm版本切換,最後定位在換各類版本瀏覽器,發如今chrome74上正常72版本正常,在70上不能夠,覺得是瀏覽器的BUG,原本要放棄的。而後想是否是puppeteer版本的問題,去github切換到較老的一個分支上,發現與npm自動安裝的是不一樣的文件,最後找到解決辦法以下:css
npmjs官方地址:https://www.npmjs.com/package/puppeteernode
說明:在npm中安裝固定的版本號package,只須要在其後加 ‘@版本號’,下官網70chrome對應的是1.7.0則,執行以下命令。git
npm install --save puppeteer@1.7.0
-------------------------github
npm install moduleName # 安裝模塊到項目目錄下 npm install -g moduleName # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪一個位置,要看 npm config prefix 的位置。 npm install -save moduleName # -save 的意思是將模塊安裝到項目目錄下,並在package文件的dependencies節點寫入依賴。 npm install -save-dev moduleName # -save-dev 的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴。
那麼問題來了,在項目中咱們應該使用四個命令中的哪一個呢?這個就要視狀況而定了。下面對這四個命令進行對比,看完後你就再也不這麼問了。chrome
1. 安裝模塊到項目node_modules目錄下。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。express
1. 安裝模塊到全局,不會在項目node_modules目錄中保存模塊包。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。npm
1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入dependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者註明NODE_ENV變量值爲production時,會自動下載模塊到node_modules目錄中。gulp
1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入devDependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者註明NODE_ENV變量值爲production時,不會自動下載模塊到node_modules目錄中。瀏覽器
devDependencies 節點下的模塊是咱們在開發時須要用的,好比項目中使用的 gulp ,壓縮css、js的模塊。這些模塊在咱們的項目部署後是不須要的,因此咱們可使用 -save-dev 的形式安裝。像 express 這些模塊是項目運行必備的,應該安裝在 dependencies 節點下,因此咱們應該使用 -save 的形式安裝。spa