• <center id="sm46c"></center>
  • <dfn id="sm46c"></dfn>
  • <strike id="sm46c"></strike>
  • <cite id="sm46c"><source id="sm46c"></source></cite>
    • <strike id="sm46c"><source id="sm46c"></source></strike>
      <option id="sm46c"></option>
      国产精品天天看天天狠,女高中生强奷系列在线播放,久久无码免费的a毛片大全,国产日韩综合av在线,亚洲国产中文综合专区在,特殊重囗味sm在线观看无码,中文字幕一区二区三区四区在线,无码任你躁久久久久久老妇蜜桃

      你不知道的--save-dev和--save的區(qū)別

      2020-3-26    seo達(dá)人

      網(wǎng)上對(duì)于這兩個(gè)的區(qū)別解釋都是統(tǒng)一口徑的,一個(gè)是開(kāi)發(fā)依賴,一個(gè)是線上依賴,打包發(fā)布需要用到的要添加到線上依賴,一模一樣的回答,誤導(dǎo)了很多人。今天自己測(cè)試一下這兩個(gè)命令,記錄一下。



      –save-dev,會(huì)在devDependencies里面添加依賴



      -D,會(huì)在devDependencies里面添加依賴



      –save,會(huì)在dependencies里面添加依賴



      -S,會(huì)在dependencies里面添加依賴



      devDependencies和dependencies可以同時(shí)存在同一個(gè)包的依賴。



      如果npm install xxx后面沒(méi)有輸入要保存到哪個(gè)里面,devDependencies和dependencies都沒(méi)有。



      我這邊直接npm install jquery,node_modules下有jQuery。然后我刪除node_modules,執(zhí)行npm install,node_modules下并沒(méi)有下載jQuery。



      所以,安裝依賴的時(shí)候如果沒(méi)有加上要依賴到開(kāi)發(fā)還是線上,只是臨時(shí)的在node_modules里面幫你下載,而devDependencies和dependencies的依賴都會(huì)幫你下載。



      然后我在devDependencies下安裝依賴:



      "devDependencies": {  

          "html-webpack-plugin": "^4.0.3", 

          "jquery": "^3.4.1",  

          "webpack": "^4.42.1", 

          "webpack-cli": "^3.3.11"

      }



      在入口文件引用和打印jQuery:



      import $ from 'jquery'

      console.log($)



      打包之后,可以使用jQuery。



      然后我在dependencies下安裝依賴:



      "dependencies": { 

          "html-webpack-plugin": "^4.0.3", 

          "jquery": "^3.4.1", 

          "webpack": "^4.42.1", 

          "webpack-cli": "^3.3.11"

      }



      在入口文件引用和打印jQuery:



      import $ from 'jquery'

      console.log($)



      打包之后,可以使用jQuery。



      測(cè)試的結(jié)果就是,無(wú)論是–save還是–save-dev,對(duì)于打包都沒(méi)有任何影響。devDependencies和dependencies兩種情況,打包出來(lái)的main.js都把jQuery打包進(jìn)去。這兩種情況,如果都沒(méi)有引用jQuery的情況下,也都不會(huì)把jQuery打包。



      接著在一個(gè)空白的項(xiàng)目里面下載axios,npm install axios -S,打開(kāi)node_modules文件夾:







      發(fā)現(xiàn)多出了另外三個(gè)依賴,查看axios下的package.json:



      "dependencies": {



          "follow-redirects": "1.5.10"



      }



      查看follow-redirects下的package.json:



      "dependencies": {



          "debug": "=3.1.0"



      }



      查看debugs下的package.json:



      "dependencies": {



          "ms": "2.0.0"



      }



      最后ms的package.json沒(méi)有dependencies。



      而這幾個(gè)包的devDependencies依賴的包沒(méi)有一個(gè)下載。



      接著我在node_modules把follow-redirects、debugs、ms都刪了,把a(bǔ)xios里面的package.js的dependencies給刪了,然后執(zhí)行npm install,發(fā)現(xiàn)沒(méi)有下載follow-redirects、debugs、ms這幾個(gè),也證明了如果node_modules里面有下載的包,是不會(huì)重新去下載的。我把node_modules刪除,執(zhí)行npm install,這幾個(gè)包又都下載下來(lái)了。



      最后得出 的結(jié)論是,–save-dev和–save在平時(shí)開(kāi)發(fā)的時(shí)候,對(duì)于打包部署上線是沒(méi)有任何影響的。如果你是發(fā)布一個(gè)包給別人用,而你開(kāi)發(fā)的包依賴第三方的包,那么你如果是–save,那么別人安裝你開(kāi)發(fā)的包,會(huì)默認(rèn)下載你依賴的包,如果你是–save-dev,那么別人安裝你開(kāi)發(fā)的包,是不會(huì)默認(rèn)幫忙下載你依賴的包。



      其實(shí)發(fā)布的包如果沒(méi)有必要,很少會(huì)默認(rèn)幫你下載,比如bootstrap,依賴jQuery,怕你原本就下載了引起沖突,也不會(huì)在dependencies里面安裝jQuery而是:



      "peerDependencies": {



          "jquery": "1.9.1 - 3",



          "popper.js": "^1.16.0"



      }



      表示bootstrap依賴于這兩個(gè)包,你必須安裝,版本不固定,但是一定要安裝這兩個(gè)包,安裝的時(shí)候會(huì)有警告:



      peerDependencies WARNING bootstrap@ requires a peer of jquery@1.9.1 - 3 but none was installed



      peerDependencies WARNING bootstrap@
      requires a peer of popper.js@^1.16.0 but none was installed



      當(dāng)你引用了然后打包,報(bào)錯(cuò):



      ERROR in ./node_modules/_bootstrap@4.4.1@bootstrap/dist/js/bootstrap.js



      Module not found: Error: Can't resolve 'jquery' in 'C:\Users\wade\Desktop\savedev\node_modules_bootstrap@4.4.1@bootstrap\dist\js'



       @ ./node_modules/_bootstrap@4.4.1@bootstrap/dist/js/bootstrap.js 7:82-99



       @ ./src/index.js



       



      ERROR in ./node_modules/_bootstrap@4.4.1@bootstrap/dist/js/bootstrap.js



      Module not found: Error: Can't resolve 'popper.js' in 'C:\Users\wade\Desktop\savedev\node_modules_bootstrap@4.4.1@bootstrap\dist\js'



       @ ./node_modules/_bootstrap@4.4.1@bootstrap/dist/js/bootstrap.js 7:101-121



       @ ./src/index.js



      以上就是對(duì)–save和–save-dev的一些測(cè)試,想更快的得出結(jié)論其實(shí)是自己發(fā)布一個(gè)包。至于本人的答案是不是存在錯(cuò)誤,歡迎指出,因?yàn)橹皇亲约汉?jiǎn)單測(cè)試的結(jié)果。


      日歷

      鏈接

      個(gè)人資料

      存檔

      主站蜘蛛池模板: 日韩精品国产中文字幕| 亚洲 自拍 另类 欧美 综合| 产国语一级特黄aa大片| 狠狠亚洲色一日本高清色| 日本久久久www成人免费毛片丨 | 国产美女MM131爽爽爽| 日韩人妻无码精品久久| 亚洲中文字幕无线无码毛片| 97久久综合区小说区图片区| 91亚洲国产成人久久精品| 安吉县| 无码人妻久久1区2区3区 | 亚洲最大无码AV网站观看| AV区无码字幕中文色| 麻豆久久婷婷国产| 国产精品成人午夜福利| 日本一区二区三区激情视频| 色综合久久一区二区三区 | 日韩不卡一区二区三区四区| 国产成人精品亚洲精品日日 | 亚洲最大av无码网站| 久久精品国产久精国产一老狼| 浦城县| 久久婷婷丁香五月综合五| 亚洲 另类 熟女 字幕| 久久久久久亚洲精品成人| 在线视频夫妻内射| 国产精品免费露脸视频| 蜜芽久久人人超碰爱香蕉| 性欧美在线| 亚洲最大色综合成人av| 国产一区二区一卡二卡| 亚洲AV日韩AV激情亚洲| 一本久道久久综合中文字幕| 黄色三级亚洲男人的天堂| 国产h视频免费观看| 日本一道一区二区视频| 精品熟女少妇免费久久| 精品一区二区三区在线播放视频| 久久久国产成人一区二区| 国产精品中文第一字幕|