Webpack 筆記

什么是WEBPACK



Webpack 是德國開發者 Tobias Koppers 開發的模塊加載器兼打包工具,在webpack中,它能把各種資源,例如JS(含JSX)、coffee、樣式(含less/sass)、圖片等都作為模塊來使用和處理。因此, Webpack 當中 js 可以引用 css, css 中可以嵌入圖片 dataUrl。

安裝


全局安裝Webpack 和 Webpack-dev-server

npm install -g webpack webpack-dev-server?

創建Package.json

npm init

安裝依賴

npm install

Webpack-dev-server 啟動方法

webpack-dev-server

訪問連接 : http://127.0.0.1:8080

webpack-dev-server --port 3000 --hot --inline

webpack配置文件


entry:指入口文件的配置項,它是一個數組的原因是webpack允許多個入口點。 當然如果你只有一個入口的話,也可以直接使用雙引號"./entry.js"

output:配置打包結果,path定義了輸出的文件夾,filename則定義了打包結果文件的名稱

module:定義了對模塊的處理邏輯,這里可以用loaders定義了一系列的加載器,以及一些正則。當需要加載的文件匹配test的正則時,就會調用后面的loader對文件進行處理,這正是webpack強大的原因。loaders數組[] 從右往左處理. exclude不包括處理

plugins: 插件可以完成更多loader不能完成的功能. webpack內置了一些常用的插件, 還可以通過npm安裝第三方插件.

resolve: extensions[""]


webpack

AMD 是 RequireJS 在推廣過程中對模塊定義的規范化產出。

CMD 是 SeaJS 在推廣過程中對模塊定義的規范化產出。

類似的還有 CommonJS Modules/2.0 規范,是 BravoJS 在推廣過程中對模塊定義的規范化產出。

還有不少??

這些規范的目的都是為了 JavaScript 的模塊化開發,特別是在瀏覽器端的。

目前這些規范的實現都能達成瀏覽器端模塊化開發的目的

區別:

1. 對于依賴的模塊,AMD 是提前執行,CMD 是延遲執行。不過 RequireJS 從 2.0 開始,也改成可以延遲執行(根據寫法不同,處理方式不同)。CMD 推崇 as lazy as possible.

2. CMD 推崇依賴就近,AMD 推崇依賴前置。看代碼:

// CMD

define(function(require, exports, module) {

var a = require('./a')

a.doSomething()

// 此處略去 100 行

var b = require('./b') // 依賴可以就近書寫

b.doSomething()

// ...

})

// AMD 默認推薦的是

define(['./a', './b'], function(a, b) {? // 依賴必須一開始就寫好

a.doSomething()

// 此處略去 100 行

b.doSomething()

...

})

雖然 AMD 也支持 CMD 的寫法,同時還支持將 require 作為依賴項傳遞,但 RequireJS 的作者默認是最喜歡上面的寫法,也是官方文檔里默認的模塊定義寫法。

3. AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區分,推崇職責單一。比如 AMD 里,require 分全局 require 和局部 require,都叫 require。CMD 里,沒有全局 require,而是根據模塊系統的完備性,提供 seajs.use 來實現模塊系統的加載啟動。CMD 里,每個 API 都簡單純粹

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

推薦閱讀更多精彩內容

  • webpack配置DEMO webpack.config.js文件官方標配示例如下: 參考各路大神的流程寫下來.....
    章魚不丸子閱讀 559評論 0 3
  • webpack配置DEMO webpack.config.js文件官方標配示例如下: 參考各路大神的流程寫下來.....
    章魚不丸子閱讀 759評論 0 3
  • Webpack 筆記二:[譯]Webpack2的新特性 原文What's new in webpack 2。譯文內...
    brandonxiang閱讀 3,510評論 0 1
  • 女人總要理由的,表白的理由,分手的理由。人也確實需要理由的,開始的理由,放棄的理由,馬不停蹄奮勇拼搏的理由。 比如...
    半島鐵臂阿凡達閱讀 220評論 0 1
  • 《朱光潛:給青年的十二封信》 這學期看的最好的一本書!果然是大師!再也不想被爛書浪費時間了!老一輩的眼界和人生道理...
    南有嘉木Y閱讀 237評論 0 0