如何全局安裝一個 node 應(yīng)用?
- npm install -g xxxx(應(yīng)用名稱)
package.json 有什么作用?
- 每個項目的根目錄下面,一般都有一個package.json文件,定義了這個項目所需要的各種模塊,以及項目的配置信息(比如名稱、版本、許可證等元數(shù)據(jù))。npm install命令根據(jù)這個配置文件,自動下載所需的模塊,也就是配置項目所需的運行和開發(fā)環(huán)境。
- package.json文件就是一個JSON對象,該對象的每一個成員就是當前項目的一項設(shè)置。比如name就是項目名稱,version是版本(遵守“大版本.次要版本.小版本”的格式)。
- package.json文件的各個字段:
scripts : 指定了運行腳本命令的npm命令行縮寫,比如start指定了運行npm run start時,所要執(zhí)行的命令。
dependencies :字段指定了項目運行所依賴的模塊。
devDependencies :指定項目開發(fā)所需要的模塊。
- package.json文件可以手工編寫,也可以使用npm init命令自動生成。這個命令采用互動方式,要求用戶回答一些問題,然后在當前目錄生成一個基本的package.json文件。所有問題之中,只有項目名稱(name)和項目版本(version)是必填的,其他都是選填的。
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ā)所依賴的模塊。
node_modules的查找路徑是怎樣的?
- 遇見require時,會在當前目錄下找node_modules文件夾,看看里面有沒有需要的模塊,沒有則沿著當前項目的路徑一層一層往上查找,一直到根目錄為止。
npm3與 npm2相比有什么改進?
- npm2所有項目依賴是嵌套關(guān)系,也就是說會出現(xiàn)嵌套過多的情況,npm3改進了這個情況,會將所有依賴放在第二層依賴中,即所有依賴都在同一node_modules目錄中,是平行而不是嵌套的,有同名才會出現(xiàn)嵌套。
webpack是什么?和其他同類型工具比有什么優(yōu)勢?
- webpack是一個打包工具。它能分析你的項目結(jié)構(gòu),找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),并將其打包為合適的格式以供瀏覽器使用。主要的核心概念為:入口(entry)、輸出(output)、loader、插件(plugins)。
- 優(yōu)勢:
- 在webpack看來一切都是模塊!這就是它不可不說的優(yōu)點,包括你的JavaScript代碼,也包括CSS和fonts以及圖片等等等,只有通過合適的loaders,它們都可以被當做模塊被處理。
2.Webpack 本身只能處理原生的 JavaScript 模塊,但是 loader 轉(zhuǎn)換器可以將各種類型的資源轉(zhuǎn)換成 JavaScript 模塊。這樣,任何資源都可以成為 Webpack 可以處理的模塊。
3.豐富的插件系統(tǒng)。大多數(shù)內(nèi)容功能都是基于這個插件系統(tǒng)運行的,還可以開發(fā)和使用開源的 Webpack 插件,來滿足各式各樣的需求。
4.和 requirejs 相比,require.js的所有功能它都有,但編繹過程更快,因為 require.js 會去處理不需要的文件,還有一個額外的好處就是你不需要再做一個封裝的函數(shù),不需要寫 define,自己用 exports 后,require 就好。
npm script是什么?如何使用?
- scripts指定了運行腳本命令的npm命令行縮寫,比如start指定了運行npm run start時,所要執(zhí)行的命令。通過設(shè)置 npm script 可以方便實現(xiàn)前端工作流。
- 使用方法:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"webpack": "webpack app.js ./bin/app.merge.js"
}
//在命令行輸入 npm run webpack,就可以在命令行中執(zhí)行 webpack app.js ./bin/app.merge.js 命令。
使用 webpack 替換 入門-任務(wù)15中模塊化使用的 requriejs
gulp是什么?使用 gulp 實現(xiàn)圖片壓縮、CSS 壓縮合并、JS 壓縮合并
- 它是一款nodejs應(yīng)用。
- 它是打造前端工作流的利器,打包、壓縮、合并、git、遠程操作...,
- 簡單易用
- 無快不破
- 高質(zhì)量的插件
- github代碼