npm,gulp,webpack

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

npm install -g name

2.package.json有什么用

每個項目的根目錄下,都有一個package.json文件,記錄了這個項目所需要的各種模塊,以及項目的配置信息(名稱、版本、許可證等元數(shù)據(jù))。npm install命令根據(jù)這個配置文件,自動下載所需的模塊,也就是配置項目所需的運行和開發(fā)環(huán)境。
詳細資料

3.npm install --save app 與npm install --save-dev app的區(qū)別

npm install --save 會將該app模塊寫入package.json中的dependencies中,表示此包的運行的依賴。
npm install --save-dev  會將該app模塊寫入package.json中的devDependencies中,表示開發(fā)的依賴,一般是測試所用模塊

比人在使用你的npm包時,會下載dependencies也就是運行所需依賴,而devDependencies中的不會下載。

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

node_module首先在當前目錄下查找,在當前目錄下面沒有找到node_module的話就想上一級查找,直至根目錄。

5.webpack是什么?和其他同類型工具比有什么優(yōu)勢?

webpack是一個模塊加載器和打包工具,它可以將許多松散的模塊按照依賴和規(guī)則打包成符合生產(chǎn)環(huán)境部署的前端資源。還可以將按需加載的模塊進行代碼分隔,等到實際需要的時候再異步加載。通過 loader 的轉(zhuǎn)換,任何形式的資源都可以視作模塊,比如 CommonJs 模塊、 AMD 模塊、 ES6 模塊、CSS、圖片、 JSON、Coffeescript、 LESS 等。

優(yōu)勢:

  1. 對CommonJS、AMD、ES6的語法兼容
  2. 對js、css、圖片等資源文件都支持打包
  3. 有獨立的配置文件webpack.config.js
  4. 可以將代碼切割成不同的chunk,實現(xiàn)按需加載,降低了初始化時間
  5. 具有強大的Plugin接口,大多是內(nèi)部插件,使用起來比較靈活
  6. 串聯(lián)式模塊加載器以及插件機制,讓其具有更好的靈活性和擴展性,例如提供對CoffeeScript、ES6的支持

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

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

{
  // ...
  "scripts": {
    "build": "node build.js"
  }
}

這是package.json文件中的一段片段,里面的scripts字段是一個對象,它的每一個屬性,對應(yīng)一段腳本。比如,build命令對應(yīng)的腳本是node build.js

$ npm run build 等同于執(zhí)行  $node build.js

7.webpack實例

效果→

8.gulp是什么?使用gulp實現(xiàn)圖片壓縮,css壓縮合并,js壓縮合并

gulp是前端開發(fā)過程中對代碼進行構(gòu)建的工具,是自動化項目的構(gòu)建利器;它不僅能對網(wǎng)站資源進行優(yōu)化,而且在開發(fā)過程中很多重復的任務(wù)能夠使用正確的工具自動完成;使用它,我們不僅可以很愉快的編寫代碼,而且大大提高我們的工作效率。

gulp是基于Nodejs的自動任務(wù)運行器,能自動化地完成javascript/coffee/sass/less/html/image/css 等文件的的測試、檢查、合并、壓縮、格式化、瀏覽器自動刷新、部署文件生成,并監(jiān)聽文件在改動后重復指定的這些步驟。在實現(xiàn)上,它借鑒了Unix操作系統(tǒng)的管道(pipe)思想,前一級的輸出,直接變成后一級的輸入,使得在操作上非常簡單。

//安裝插件
npm install gulp-imagemin --save-dev //圖片壓縮
npm install gulp-cssnano --save-dev //css壓縮
npm install uglify --save-dev //js壓縮
npm install gulp-jshint --save-dev //js規(guī)范檢查
npm install gulp-concat --save-dev //文件合并
npm install gulp-rename --save-dev //重命名

//gulpfile.js
//引入插件
var gulp = require('gulp'),
cssnano = require('gulp-cssnano'),
concat = require('gulp-concat'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
imagemin = require('gulp-imagemin'),
rename = require('gulp-rename');

//css合并壓縮
gulp.task('css', function () {
gulp.src('./src/css/*.css')
  .pipe(concat('merge.css')) //將文件合并
  .pipe(rename({
   suffix: '.min' //文件名后加上 .min 
  }))
  .pipe(cssnano()) //css壓縮
  .pipe(gulp.dest('dist/css/')); //輸出
})

//js合并壓縮
gulp.task('js', function () {
gulp.src('src/js/*.js')
  .pipe(jshint()) //js規(guī)范檢查
  .pipe(jshint.reporter('default'))
  .pipe(concat('merge.js'))
  .pipe(rename({
   suffix: '.min'
  }))
  .pipe(uglify())
  .pipe(gulp.dest('dist/js/'));
})

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

gulp.task('build', ['css', 'js', 'image'])
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目1: 如何全局安裝一個 node 應(yīng)用? Node模塊采用npm install命令安裝。 每個模塊可以“全局...
    蕭雪圣閱讀 1,856評論 0 1
  • 題目1: 如何全局安裝一個 node 應(yīng)用? 題目2: package.json 有什么作用? 每個項目的根目錄下...
    饑人谷_Jack閱讀 326評論 0 0
  • 如何全局安裝一個 node 應(yīng)用? npm install -g package.json 有什么作用? 可以理解...
    邢烽朔閱讀 653評論 0 1
  • 如何全局安裝一個 node 應(yīng)用? 通過下面這個命令可以全局安裝一個node應(yīng)用 簡寫形式 通過全局安裝的node...
    LeeoZz閱讀 1,092評論 0 0
  • Given a binary tree, imagine yourself standing on the rig...
    matrxyz閱讀 386評論 0 0

友情鏈接更多精彩內(nèi)容