34.npm/npmscript/gulp/webpack

1.如何全局安裝一個 node 應(yīng)用?
npm install -g <package_name>
2.package.json 有什么作用?

1.定義了模塊的配置信息(名稱、版本日杈、許可證、依賴等)佑刷,
2.通過命令npm install根據(jù)這個配置文件莉擒,下載所需模塊配置環(huán)境,便于開發(fā)者之間的協(xié)作

3. npm install --save appnpm install --save-dev app有什么區(qū)別?

a.npm installl --save app會在package.json中的dependencies中添加運行時依賴瘫絮,產(chǎn)品發(fā)布后仍需要依靠這些工具運行涨冀;
當(dāng)下載一個node包時執(zhí)行npm install可以安裝dependencies下的依賴,而不會安裝devDependencies下的依賴

"dependencies" {
  "axios": "^0.16.2"
}

b.npm install --save-dev app則會在devDependencies添加開發(fā)依賴檀何,這些工具是開發(fā)時使用的蝇裤,如gulp,產(chǎn)品發(fā)布后不需要使用這些工具频鉴。

"devDependencies": {
    "gulp": "^3.9.1"
}
4.node_modules的查找路徑是怎樣的?

首先是當(dāng)前文件夾下的node_modules,然后向上一級查找node_modules恋拍,一直到根目錄為止

5.npm3與 npm2相比有什么改進垛孔?yarn和 npm 相比有什么優(yōu)勢?

參考文獻
1.Yarn vs npm: 你需要知道的一切
2.玩轉(zhuǎn)npm
3.一文看懂npm、yarn施敢、pnpm之間的區(qū)別
4.npm 依賴解決方案

a.npm3與 npm2相比有什么改進周荐?

  • npm3將依賴模塊扁平化存放,減輕了npm2中過長依賴嵌套的問題

b.Yarn和 npm 相比有什么優(yōu)勢?

  • Yarn默認(rèn)每次安裝應(yīng)用都會創(chuàng)建或更新yarn.lock文件僵娃,以此保證其他機器安裝相同版本的依賴
  • 默認(rèn)情況下Yarn的安裝速度更快概作,Yarn并行下載和安裝
  • Yarn支持離線安裝
  • Yarn在每個安裝包的代碼執(zhí)行前使用校驗碼驗證包的完整性
6. webpack是什么?和其他同類型工具比有什么優(yōu)勢默怨?

webpack 是一個現(xiàn)代 JavaScript 應(yīng)用程序的模塊打包器(module bundler)讯榕。當(dāng) webpack 處理應(yīng)用程序時,它會遞歸地構(gòu)建一個依賴關(guān)系圖(dependency graph),其中包含應(yīng)用程序需要的每個模塊愚屁,然后將所有這些模塊打包成少量的 bundle - 通常只有一個济竹,由瀏覽器加載。

  • webpack將項目當(dāng)做一個整體霎槐,通過給定的入口文件(如:index.js)送浊,找到你的項目的所有依賴文件,使用loaders和plugins來處理它們丘跌;(與gulp相比袭景,gulp是對每一種資源單獨處理,并沒有整體的概念)
  • webpack將所有資源都視為模塊闭树,所以諸如less,json,jpg等各種資源都可以被處理浴讯;
  • webpack根據(jù)需要將文件切分,避免模塊過多導(dǎo)致的請求過多蔼啦,也避免只請求一次榆纽,文件過大導(dǎo)致的加載緩慢問題。(與r.js requirejs)
7. npm-scripts是什么捏肢?如何使用奈籽?

npm 允許在package.json文件里面,使用scripts字段定義腳本命令鸵赫。

通過它衣屏,可以進行很多快捷操作。

以下為一個package.json中的scripts片段辩棒;

如下狼忱,命令行執(zhí)行npm run build相當(dāng)于執(zhí)行node index.js
本地安裝webpack后,命令行執(zhí)行npm run webpack相當(dāng)于執(zhí)行./node_modules/webpack/bin/webpack.js

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build":"node index.js",
    "webpack": "webpack",
    "server": "webpack-dev-server --open"
  },

其中test一睁,start等npm固有命令钻弄,可以通過npm {name},其他自定義name通過npm run {name}來執(zhí)行

8.使用 webpack 替換 入門-任務(wù)15中模塊化使用的 requriejs

預(yù)覽鏈接
webpack配置文件

打包前后目錄結(jié)構(gòu)
9.gulp是什么者吁?使用 gulp 實現(xiàn)圖片壓縮窘俺、CSS 壓縮合并、JS 壓縮合并

gulp是一款打造前端自動化工作流的node應(yīng)用复凳,包括:打包瘤泪,壓縮,合并育八,git对途,遠程操作等;

//gulpfile.js
var gulp = require('gulp')

var imagemin = require('gulp-imagemin');
var csso = require('gulp-csso');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');

gulp.task('img',function () {  //圖片壓縮
    gulp.src('src/img/**/*')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/imgs'))
})

gulp.task('css',function () {  //css壓縮合并
    gulp.src('src/css/*.css')
       .pipe(csso())
       .pipe(concat('merge.css'))
       .pipe(gulp.dest('dist/css/'))
})

gulp.task('js',function () {  //js壓縮合并
    gulp.src('src/**/*.js')
        .pipe(uglify())
        .pipe(concat('merge.js'))
        .pipe(gulp.dest('dist/js'))
})

gulp('default',['img','css','js'])  //命令行執(zhí)行g(shù)ulp即可
10.開發(fā)一個 node 命令行天氣應(yīng)用用于查詢用戶當(dāng)前所在城市的天氣髓棋,發(fā)布到 npm 上去实檀』讨蓿可以通過如下方式安裝使用(可使用api.jirengu.com里提供的查詢天氣接口)

weather應(yīng)用-npm地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市劲妙,隨后出現(xiàn)的幾起案子湃鹊,更是在濱河造成了極大的恐慌,老刑警劉巖镣奋,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件币呵,死亡現(xiàn)場離奇詭異,居然都是意外死亡侨颈,警方通過查閱死者的電腦和手機余赢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哈垢,“玉大人妻柒,你說我怎么就攤上這事≡欧郑” “怎么了举塔?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長求泰。 經(jīng)常有香客問我央渣,道長,這世上最難降的妖魔是什么渴频? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任芽丹,我火速辦了婚禮,結(jié)果婚禮上卜朗,老公的妹妹穿的比我還像新娘拔第。我一直安慰自己,他們只是感情好场钉,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布蚊俺。 她就那樣靜靜地躺著,像睡著了一般惹悄。 火紅的嫁衣襯著肌膚如雪春叫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天泣港,我揣著相機與錄音,去河邊找鬼价匠。 笑死当纱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的踩窖。 我是一名探鬼主播坡氯,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了箫柳?” 一聲冷哼從身側(cè)響起手形,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悯恍,沒想到半個月后库糠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡涮毫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年瞬欧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罢防。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡艘虎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咒吐,到底是詐尸還是另有隱情野建,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布恬叹,位于F島的核電站候生,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏妄呕。R本人自食惡果不足惜陶舞,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绪励。 院中可真熱鬧肿孵,春花似錦、人聲如沸疏魏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽大莫。三九已至蛉腌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間只厘,已是汗流浹背烙丛。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留羔味,地道東北人河咽。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像赋元,于是被迫代替她去往敵國和親忘蟹。 傳聞我的和親對象是個殘疾皇子飒房,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在現(xiàn)在的前端開發(fā)中,前后端分離媚值、模塊化開發(fā)狠毯、版本控制、文件合并與壓縮褥芒、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,431評論 1 32
  • 題目1: 如何全局安裝一個 node 應(yīng)用? Node模塊采用npm install命令安裝嚼松。 每個模塊可以“全局...
    蕭雪圣閱讀 1,769評論 0 1
  • 題目1: 如何全局安裝一個 node 應(yīng)用? “全局安裝”指的是將一個模塊安裝到系統(tǒng)目錄中,各個項目都可以調(diào)用喂很。一...
    saintkl閱讀 284評論 0 0
  • 1. 如何全局安裝一個 node 應(yīng)用? 在終端輸入npm install -g pkg pkg為安裝包的名字pk...
    _李祺閱讀 215評論 0 1
  • 1: 如何全局安裝一個 node 應(yīng)用? 全局安裝:package會被下載到到特定的系統(tǒng)目錄下( /usr/loc...
    yuhuan121閱讀 388評論 0 0