npm-npmscript-gulp-webpack

1.如何全局安裝一個 node 應(yīng)用?

node install -g packagename

2.package.json 有什么作用?

配合npm使用

1. 配置模塊包的基本信息
name,version,decription,entry point,test command
git  repository,keywords, author,license

2. 模塊包的依賴管理
dependencies
devDependencies

3. 定義模塊包的使用方式
script

4. 定義模塊包的可執(zhí)行文件地址
bin

5. 定義主程序入口
main

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

  • npm install --save app在package.json中創(chuàng)建
    "dependencies ": {
    "app": "xxx",
    }
    發(fā)布之后,項目運行仍依賴這個模塊,會被用戶下載。

  • npm install --save-dev app在package.json中創(chuàng)建
    "devDependencies": {
    "app": "xxx",
    }
    開發(fā)時依賴于這個模塊,項目正常運行時不需要這個模塊,不會被用戶所下載。

4.node_modules的查找路徑是怎樣的?

require模塊時,先在當(dāng)前目錄查找node_modules下的模塊,如果沒有,再往上一級目錄中查詢node_modules下的模塊,層層遞進,直到系統(tǒng)根目錄。

5.npm3與 npm2相比有什么改進?

  • npm3和npm2在安裝模塊的時候,策略上前者優(yōu)于后者。
  • npm2是純粹的不共享包原則。
  • npm3的優(yōu)化點在于對于以字母順序安裝npm包的時候,優(yōu)先安裝在node_modules第一層級目錄。
  • 這樣做的好處是如果后續(xù)包有相關(guān)依賴性則不需要重復(fù)安裝。

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 - 通常只有一個,由瀏覽器加載。
它是高度可配置的,四個核心概念:入口(entry)、輸出(output)、loader、插件(plugins)。

優(yōu)點:
快速運行,Webpack 使用異步 I/O 和多級緩存提高運行效率
功能豐富的插件系統(tǒng)。大多數(shù)內(nèi)容功能都是基于這個插件系統(tǒng)運行的
Webpack 有一個智能解析器,幾乎可以處理任何第三方庫,無論它們的模塊形式是 CommonJS、 AMD 還是普通的 JS 文件
Webpack 本身只能處理原生的 JavaScript 模塊,但是 loader 轉(zhuǎn)換器可以將各種類型的資源轉(zhuǎn)換成 JavaScript 模塊。這樣,任何資源都可以成為 Webpack 可以處理的模塊。

7.npm script是什么?如何使用?

npm scripts容許你在package.json文件的scripts字段定義腳本命令,通過終端使用。
需要注意的是,系統(tǒng)自帶的關(guān)鍵字,運行時可以寫npm XXX,其他自定義的需要寫成npm run XXX

9.gulp是什么?使用 gulp 實現(xiàn)圖片壓縮、CSS 壓縮合并、JS 壓縮合并

它是前端自動化構(gòu)建工作流的利器,可以使用多個插件實現(xiàn)代碼打包、壓縮、合并、檢測、瀏覽器自動刷新等功能。

var gulp = require('gulp')
var cssnano = require('gulp-cssnano') //壓縮css
var uglify = require('gulp-uglify') //壓縮js
var concat = require('gulp-concat') //文件合并
var imagemin = require('gulp-imagemin') //圖片壓縮
gulp.task('css', function(){   //task定義一個任務(wù),執(zhí)行:gulp css
    gulp.src('./src/css/*.css') //獲取該路徑下的所有css文件
            .pipe(concat('index-merge.css')) //3個文件合并成一份
            .pipe(cssnano())  //壓縮數(shù)據(jù)流
            .pipe(gulp.dest('./dist/css/'))  //放置文件
})
gulp.task('js', function(){
    gulp.src('./src/js/*.js')
            .pipe(concat('index-merge.js'))
            .pipe(uglify())
            .pipe(gulp.dest('./dist/js/'))
})
gulp.task('imgs', function(){
    gulp.src('./src/imgs/*.jpg')
            .pipe(imagemin())
            .pipe(gulp.dest('./dist/imgs/'))
})
gulp.task('default', ['css','js','imgs'])
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,991評論 2 374

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

  • 題目1: 如何全局安裝一個 node 應(yīng)用? “全局安裝”指的是將一個模塊安裝到系統(tǒng)目錄中,各個項目都可以調(diào)用。一...
    saintkl閱讀 301評論 0 0
  • 1. 如何全局安裝一個 node 應(yīng)用? 使用npm install -g packageName命令來全局安裝n...
    madpluto閱讀 236評論 0 0
  • 1. 如何全局安裝一個 node 應(yīng)用? 在終端輸入npm install -g pkg pkg為安裝包的名字pk...
    _李祺閱讀 227評論 0 1
  • 1. 如何全局安裝一個 node 應(yīng)用? 2. package.json 有什么作用? 執(zhí)行npm init -y...
    hui_mamba閱讀 336評論 0 0
  • 題目1: 如何全局安裝一個 node 應(yīng)用? npm install -g xx 題目2: package.jso...
    GaoYangTongXue丶閱讀 579評論 0 0