高級5:npm-npmscript-gulp-webpack

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

npm install -g 應用名稱

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

{
  "name": "test-demo0", //項目名稱,發布項目后,可以通過該名稱在npm上搜索到該項目,必須全網唯一
  "version": "1.0.0",   //版本號,當項目做了改動時需要修改版本號再發布
  "description": "這是我的測試版本",  //工程描述。
  "main": "index.js",     //入口文件
  "scripts": {      //自定義的npm腳本,除test和start兩條命令可以用npm xxx在命令行執行之外其他的命令必須用npm run xxx執行,這個對象中的鍵值對鍵名代表npm腳本的命令,而值則代表實際執行的命令。
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [       //工程描述關鍵詞
    "demo0"
  ],
  "author": "yan",  //工程作者
  "license": "ISC", //工程遵循的開源協議
  "dependencies": { //工程所依賴的包,當在執行npm install命令時,將會根據此對象中的屬性來安裝依賴。
    "marked": "^0.3.6"
  },
  "devDependencies": {  //工程構建者構建工程所依賴的包,這個對象中的依賴僅僅在構建工程時安裝
    "easytpl": "^1.0.4"
  }
}

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

  • npm install --save app: 將產品運行時(或生產環境)需要的依賴模塊添加到 package.json 的 dependencies 中,在發布后還需要繼續使用,否則就運行不了


    image.png
  • npm install --save-dev app:將產品的開發環境需要的依賴模塊添加到 package.json 的 devDependencies 中,只在開發時才用到,發布后用不到它。


    image.png

區別在于:當你把項目發布上線后,別人使用 npm install使用你的項目時,
并不會下載devDependencies里的模塊。

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

從當前文件目錄開始查找node_modules目錄;然后依次進入父目錄,查找父目錄下的node_modules目錄;依次迭代,直到根目錄下的node_modules目錄。比如某個模塊的絕對路徑是/home/user/foo.js,在該模塊中使用require('bar')方式加載模塊時,node將在下面的位置進行搜索:

/home/user/node_modules/bar

/home/node_modules/bar

/node_modules/bar

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

webpack是一款模塊加載器兼打包工具,它能把各種資源JS/CSS/圖片等都作為模塊來使用和處理。優勢如下:

  • webpack 是以 commonJS 的形式來書寫腳本,但對 AMD/CMD 的支持也很全面,方便舊項目進行代碼遷移。
  • webpack可以將代碼拆分成多個區塊,每個區塊包含一個或多個模塊,它們可以按需異步加載,極大地減少了頁面初次加載時間。
  • webpack 本身只能處理原生的 JS 模塊,但是 loader 轉換器可以將各種類型的資源轉換成 JS 模塊。這樣,任何資源都可以成為 webpack 可以處理的模塊。
  • webpack 有一個智能解析器,幾乎可以處理任何第三方庫,無論它們的模塊形式是 CommonJS、 AMD 還是普通的 JS 文件。
  • webpack 還有一個功能豐富的插件系統。大多數內容功能都是基于這個插件系統運行的,還可以開發和使用開源的 webpack 插件,來滿足各式各樣的需求。
  • webpack使用異步 I/O 和多級緩存提高運行效率,使得它能夠快速增量編譯。

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

package.json 文件有一個 scripts 字段,可以用于指定腳本命令,供 npm 直接調用。npm 內置了兩個簡寫的命令:npm test 和 npm start,其它命令要寫成 npm run xxx 形式

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

代碼地址:https://github.com/a625689014/webpack
預覽地址:https://a625689014.github.io/webpack/page.html

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

  • 它是一款nodejs應用。
  • 它是打造前端工作流的利器,打包、壓縮、合并、git、遠程操作.....
  • 簡單易用
  • 高質量的插件
    代碼地址:https://github.com/a625689014/gulp

題目10: 開發一個 node 命令行天氣應用用于查詢用戶當前所在城市的天氣,發布到 npm 上去。可以通過如下方式安裝使用(可使用api.jirengu.com里提供的查詢天氣接口)

使用方式: npm i -g weather-demo5
終端輸入:weather可查看當前城市天氣;weather+城市名可常看對應城市天氣

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1: 如何全局安裝一個 node 應用? 如何全局安裝一個 node 應用 2: package.json 有什么...
    曉風殘月1994閱讀 296評論 0 0
  • 題目1: 如何全局安裝一個 node 應用? “全局安裝”指的是將一個模塊安裝到系統目錄中,各個項目都可以調用。一...
    saintkl閱讀 307評論 0 0
  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,237評論 7 35
  • 題目1: 如何全局安裝一個 node 應用? Node模塊采用npm install命令安裝。 每個模塊可以“全局...
    饑人谷_小敏閱讀 497評論 0 1
  • 我不夠好,所以在時間的光陰里急急忙忙的穿梭。 我不夠好,所以沒能將生活處理的井井有條。 我不夠好,所以遇到一些事情...
    千浮生閱讀 113評論 0 0