高級5 npm-webpack

題目1: 如何全局安裝一個 node 應用?

npm install -g xxx表示全局安裝一個node包。

題目2: package.json 有什么作用?

package.json 是一個 json 格式的文件,用來記錄當前的 npm 包的相關信息,如

{
  "name" : "underscore",//包的名字
  "version" : "1.1.6",//版本號
  "description" : "programming library.",//描述
  "homepage" : "",//主頁
  "keywords" : [ "browser"],//關鍵詞
  "author" : "Jeremy ",//作者
 "license" : 版權信息
  "dependencies" : [],//項目運行依賴,發(fā)布的時候,不需要發(fā)布依賴的包,只要發(fā)布其名字,別人下載的時候,會自動下載依賴的包。
  "devDependencies":[],//開發(fā)依賴,只有自己本地開發(fā)時候用的依賴包,發(fā)布以后別人用不到
  "main" : "underscore.js",//包的入口文件
  "script:" {} // 運行腳本命令的npm命令行縮寫  
}

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

  • npm install --save app
    項目運行依賴:安裝名為 app 的包,并在 package.json 中添加到 dependencies 項目運行依賴中去,發(fā)布以后別人會自動下載 app 依賴
  • npm install --save-dev app
    開發(fā)依賴:安裝名為 app 的包,并在 package.json 中添加到 devDependencies 開發(fā)依賴中去,這個 app 包依賴只有開發(fā)者自己使用,發(fā)布后別人用不到

題目4: node_modules的查找路徑是怎樣的?

從文件所在目錄下的 nodule_modules 開始,逐級向上查找,直到找到根目錄,如果還找不到,就會報錯。

題目6: webpack是什么?和其他同類型工具比有什么優(yōu)勢?

webpack 是一款模塊加載器兼打包工具,它能把各種資源 JS、CSS、圖片等都作為模塊來使用和處理。
優(yōu)勢

  • 用 commonJS 來書寫,對 AMD/CMD 支持也很全面,
  • 方便其他模塊也兼容使用,擴展性強,插件機制完善,能被模塊化處理的資源多
  • 開發(fā)便捷,能替代部分 grunt/gulp 的工作,比如打包,壓縮。

題目7:npm script是什么?如何使用?

npm script 是 package.json 里的一個屬性,可以自定義命令,用 npm run xxx來執(zhí)行
(如果 xxx 是 test 、start,則不用加 run,因為這是 npm 內(nèi)置的命令)
例如:

 "scripts": {
    "test":"mkdir abc" 
    "start": "touch def.html",
    "delete": "rm -r def.html"
  }

終端里運行 npm test 就會創(chuàng)建abc文件夾
npm start 就會創(chuàng)建def.html文件
npm run delete 會刪除def.html文件

題目8: 使用 webpack 替換 入門-任務15中模塊化使用的 requriejs

效果預覽
代碼

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

gulp是一款可以實現(xiàn)自動化的工具,能幫助你在開發(fā)過程中自動完成任務。

var gulp = require('gulp');
var cssnano = require('gulp-cssnano');
var concat = require("gulp-concat");
var jshint = require("gulp-jshint"); 
var clean = require('gulp-clean');
var imagemin = require("gulp-imagemin");
var uglify = require("gulp-uglify");
var htmlmin = require("gulp-htmlmin");
// var browse = require("browser-sync");
// var sequence = require("run-sequence");

gulp.task("css", function () {
  return gulp.src("./src/image/*.css")
      .pipe(concat("index1.css"))
      .pipe(cssnano())
      .pipe(gulp.dest("./src/dest"))
})
gulp.task("js", function () {
 gulp.src("./src/app/*.js")
      .pipe(jshint())
      .pipe(jshint.reporter('default'))
      .pipe(concat("index1.js"))
      .pipe(uglify())
      .pipe(gulp.dest("./src/dest/"))
})
gulp.task("html", function () {
  return gulp.src("./*.html")
      .pipe(htmlmin({
          collapseWhitespace: true
      }))
      // .pipe(htmlmin("index.html"))
      .pipe(gulp.dest("./src/dest"))
})
gulp.task("img", function() {
 return  gulp.src("./src/image/*")
      .pipe(imagemin({optimizationLevel:5}))
      // .pipe(concat())
      .pipe(gulp.dest('./src/dest/img'))
})
gulp.task("default", ["js", "css","img", "html"]);
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 題目1: 如何全局安裝一個 node 應用? npm install -g xxx,模塊將會安裝在電腦的全局目錄中...
    Maggie_77閱讀 698評論 0 0
  • 題目1: 如何全局安裝一個 node 應用? Node模塊采用npm install命令安裝。 每個模塊可以“全局...
    蕭雪圣閱讀 1,853評論 0 1
  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,364評論 7 35
  • 題目1: 如何全局安裝一個 node 應用? “全局安裝”指的是將一個模塊安裝到系統(tǒng)目錄中,各個項目都可以調(diào)用。一...
    saintkl閱讀 351評論 0 0
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評論 1 32

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