1. 程式人生 > >webpackt入門1:webpack介紹&webpack安裝&使用webpack打包

webpackt入門1:webpack介紹&webpack安裝&使用webpack打包

github 輸出 rip 除了 原創 ini com lec 轉換成

本篇博客不是原創,簡書的zhangwang寫的,原文太長,我這裏只是提取了一部分。

原文地址:入門webpack,看這篇就夠了

一、Webpack解決了什麽問題

問題1.JavaScript這個腳本化語言在互聯網的前端大行其道,但其一直被當作玩具語言,與Java、C#等後端語言相比,除了語法混亂、寫法隨意之外,無法模塊化也是被詬病的一點。CommonJS標準中提出了模塊化標準,而模塊化標準帶來的一個新的問題——項目文件增多,依賴復雜。如果工具能幫助我們自動分析文件的依賴關系,那感情是最好的。

問題2.ECMAScript有很多實現,JavaScript、TypeScript、CoffeeScript等,如果TypeScript這樣的語言能轉換成JavaScript

,這樣既能利用TypeScript的語法優點,又能利用JavaScript的場景利用的優勢,那感情是最好的。

問題3.同理,Scss、Less這些CSS的預處理器,如果能使用Scss開發,並轉換成CSS,那感情是最好的。

問題4.還有很多問題。。。。。。。

Webpack能幫你處理上面這些問題,簡而言之:Webpack幫助你分析你的項目結構,找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),並將其轉換和打包為合適的格式供瀏覽器使用。

二、webpack工作方式

把你的項目當做一個整體,通過一個給定的主文件(如:index.js),從這個文件開始找到你的項目的所有依賴文件,使用loaders處理它們,最後打包為一個(或多個)瀏覽器可識別的JavaScript文件。

技術分享

三、webpack安裝

1.新建一個文件夾進行測試,如test

2.執行命令

$ npm install webpack -g //全局安裝

$ npm install webpack -save-dev //本項目安裝

3.查看webpack版本

技術分享

四、打包方法1:使用命令行來打包

1.新建文件夾hellopack2

2.初始化項目:在項目的根目錄下使用npm init命令,根據提示輸入一系列的信息,會生成一個package.json文件

3.生成依賴:在項目的根目錄下使用npm install命令,會生成node_modules文件夾,裏面是各種依賴的包

4.建立如下的文件結構

技術分享

5.輸入相應的內容

//index.html,腳本引用了bundle.js,我們的webpack最終就是要生成這個文件
<!DOCTYPE html>
<html>
  <head>
    <title>hellowebpack2</title>
  </head>
  <body>
    <div id=‘root‘>
    </div>
    <script src="bundle.js"></script>
  </body>
</html>

//main.js
var greet=require(‘./greet‘)
document.querySelector("#root").appendChild(greet());
document.querySelector("#root").append(‘Hi there and greetings!‘);

//greet.js
module.exports = function(){
  var greet = document.createElement(‘div‘);
  greet.textContent = "Hi there and greetings!";
  return greet;
};

6.命令行打包

項目根目錄下執行命令:

技術分享

7.瀏覽器查看index.html

技術分享

命令說明:

(1).webpack在打包的時候需要指定一個入口文件,前面說過了:webpack就是通過這個文件來作為依賴的入口,進而分析整個項目,本示例是main.js。

(2).webpack需要將打包的最終結果輸出到一個文件中,這個文件的名稱可以自定義,本示例是bundle.js。

五、打包方法2:使用配置文件來打包

如果長期使用$webpack app/main.js pulic/bundle.js來進行打包,不方便且易出錯,我們可以將入口文件和輸出文件放入配置文件中。

webpack的默認配置文件是webpack.config.js,在項目的根目錄下新建這個文件,並放入如下內容:

技術分享

直接使用命令webpack就可以,如下所示:

技術分享

在瀏覽器打開index.html同樣能看到效果。

六、打包方法3:使用npm的自定義命令來打包

npm可以通過scripts節點來支持自定義命令,我們可以將webpack這個命令放入npm的配置文件package.json,這樣以後,我們可以使用自定義的命令來打包了。

技術分享

以後輸入$npm start就相當於輸入了$ webpack。

技術分享

當然,我們也可以不需要第五點webpack.config.js,可以直接將webpack app/main.js public/bundle.js都放入test的scripts內容中,如下所示:

技術分享

使用同樣的命令,也可以達到效果。

參考文檔

http://www.jianshu.com/p/42e11515c10f

http://webpack.github.io/

webpackt入門1:webpack介紹&webpack安裝&使用webpack打包