1. 程式人生 > >Webpack4.x 版本入門指南

Webpack4.x 版本入門指南

本文是基於一位以前公司的同事zzj所寫的 Webpack入門指南 這篇文章做構建。本文是基於win環境搭建的webpack,以前的同事寫的入門指南是webpack3.0版本,最近想用webpack卻發現它已經更新到了4.1.x,於是遇到了幾個坑,也為了給想入門webpack的小夥伴提供個方便,重新寫一份入門指南。

什麼是webpack?

Webpack 是當下最熱門的前端資源模組化管理和打包工具。它可以將許多鬆散的模組按照依賴和規則打包成符合生產環境部署的前端資源。還可以將按需載入的模組進行程式碼分隔,等到實際需要的時候再非同步載入。通過 loader 的轉換,任何形式的資源都可以視作模組,比如 CommonJs 模組、 AMD 模組、 ES6 模組、CSS、圖片、 JSON、Coffeescript、 SASS 等。

webpack是基於node.js環境的前端自動化打包工具,本文預設你已有一定使用node和npm安裝的基礎。

##安裝

1.1 webpack安裝

首先新建一個練習資料夾demo,在檔案中開啟命令終端,輸入下列指令即可安裝webpack

//全域性安裝

npm install -g webpack

//安裝到專案資料夾

npm install --save-dev webpack

安裝完之後,demo裡會多一個node_modules資料夾。

接下來輸入

npm init

會自動建立package.json檔案。安裝的時候一路回車即可,需要修改後面再進入package.json檔案編輯。

package.json檔案是webpack的骨架,在裡面可以看到各個關鍵節點,設定快捷命令等。

1.2 資料夾部署

安裝好上面的東西,我們開始往demo資料夾塞東西,新建distsrc資料夾、webpack.config.js配置檔案來模擬開發環境。最終目錄如下:

demo                      //webpack的模擬開發資料夾
   | - webpack.config.js  //配置webpack出入口、外掛、loader
   | - node_modules
   | - dist               //打包輸出資料夾
   | - src            	  //開發資原始檔夾
     | - webpack.js     //配置webpack引入資源
     | - index.html     /*   基礎html檔案
  | - index.js 基礎js檔案   | - index.css 基礎css檔案   | - index.scss 基礎scss檔案   | - images 基礎圖片資料夾 */    | - img1.png    | - img2.png

1.3 配置webpack.config.js

var path = require('path')
var webpack = require('webpack')
module.exports = {
  // bundle入口
  entry: ['./src/webpack'],
  // bundle輸出
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js' //可重新命名
  }
}

執行

按上面步驟安裝後,執行

webpack

即可打包,我們可以看到dist資料夾中生成了bundle.js,此時還未壓縮,大小為3k。QQ截圖20170622162129

到了這裡,我們會看到webpack4.1.1 之後的版本 在命令列輸入webpack命令語句時並沒有如期的生成了bundle.js檔案,並且向你丟了個提示:

1 The CLI moved into a separate package:webpack-cli.
2 Please install 'webpack-cli' in addition to webpack itself to use the CLI.
3 ->when using npm: npm install webpack-cli -D
4 ->when using yarn: yarn add webpack-cli -D

翻譯成中文:

CLI(命令列工具)已經轉移到了一個單獨的包webpack-cli中。 
除了webpack自身外,請額外安裝webpack-cli來使用CLI。 
-> 使用npm安裝:npm install webpack-cli -D 
->使用yarn安裝:yarn add webpack-cli -D

意思是,我們需要額外安裝webpack-cli,否則便不能在命令列中使用webpack的相關命令。

1.4 webpack4.1.1版本之後的安裝

//全域性安裝

npm install -g webpack

npm install -g webpack-cli

//安裝到專案資料夾

npm install webpack -D

npm install webpack-cli -D

此處的 -D 就相當於之前的區域性安裝命令語句:--save-dev

需要在全域性安裝一次webpack-cli,舊版本的webpack中,webpack指令要能在命令列中使用,需要全域性安裝webpack,而不是本地安裝,因此這裡的webpack-cli也應該是同理。本人嘗試過只在全域性安裝webpack-cli而本地不安裝,也可以執行命令

安裝webpack-cli的同時也不要忘了像以前一樣安裝webpack

----------------------------------------------------------------------------------------------------------------

今天就先寫到這,往後的模組/外掛等設定與安裝來日再更新

相關推薦

Webpack4.x 版本入門指南

本文是基於一位以前公司的同事zzj所寫的 Webpack入門指南 這篇文章做構建。本文是基於win環境搭建的webpack,以前的同事寫的入門指南是webpack3.0版本,最近想用webpack卻發現它已經更新到了4.1.x,於是遇到了幾個坑,也為了給想入門webpack的

webpack4.x最詳細入門指南

api 包括 顯示 [] 靈活 public 手動 ppi webkit 前言 本文主要從webpack4.x入手,會對平時常用的Webpack配置一一講解,各個功能點都有對應的詳細例子,所以本文也比較長,但如果你能動手跟著本文中的例子完整寫一次,相信你會覺得Webpa

webpack快速入門——如何安裝webpack及註意事項(webpack3.X版本

就會 install 項目配置 直接 文件夾 .com 環境 好的 快速 1.window+R鍵,輸入cmd打開命令行工具,輸入 mkdir XXXX(XX:文件夾名); 2.cd XXX 進入剛剛創建好的文件夾裏,輸入cnpm install -g webpack (安裝

(一)SpringBoot入門【基於2.x版本

SpringBoot入門【基於2.x版本】 一、SpringBoot簡介 首先大家學習SpringBoot的話,我希望大家是有一定java基礎的,如果是有Spring的基礎的話,上手會更加得心應手,因為SpringBoot在我的理解範圍立面就是對Spring的一些簡化配置和效能優化。SpringBoot的

webpack4.x最詳細入門講解

前言 Webpack其實沒有想象中的那麼難,用得多了,其實套路都一樣,本文主要是針對webpack4.x版本,會對平時常用的Webpack配置一一講解,所以本文也比較長,但如果你能動手跟著本文中的例子完整寫一次,相信你會覺得Webpack也不過如此。 一、什麼是webpack,為什麼使用它? 1.1 什麼是

Webpack4.x安裝與使用入門

安裝 在全域性安裝webpack npm install -g webpack 建立專案 建立新資料夾webpack-study,用於存放專案。命令列定位到該資料夾下。輸入以下命令進行初始化。 npm init 然後根據專案情況配置選項或直接回車。 此時發現在該資料夾內新

webpack4.x入門配置

轉自 https://www.jianshu.com/p/6712e4e4b8fe1、首先npm install webpack webpack-cli webpack-dev-server -g (mac電腦用超級管理員的形式進行安裝需要前面加上sudo,Windows 電腦不用加sudo)image.pn

webpack4.x 入門一篇足矣

前言:webpack4出了以後,一些外掛變化很大,和之前的版本使用方式不一樣,新手入坑,本篇將介紹如何從一開始配置webpack4的開發版本,對css,js進行編譯打包合併生成md5,CSS中的圖片處理,js自動注入html頁,刪除指定檔案,提取公共檔案,熱更新等等。安裝//全域性安裝 npm instal

Java Gradle入門指南之依賴管理(新增依賴、倉庫、版本衝突)

    開發任何軟體,如何管理依賴是一道繞不過去的坎,軟體開發過程中,我們往往會使用這樣那樣的第三方庫,這個時候,一個好的依賴管理就顯得尤為重要了。作為一個自動構建工作,Gradle對依賴管理有著很好的支援。     通常我們使用IDE(Eclipse、IDEA、Android Studio)開發Java

【webpack系列】webpack4.x入門配置基礎(一)

一、前言 webpack在不斷的迭代優化,目前已經到了4.29.6。在webpack4這個版本中,做了很多優化,引入了很多特性,將獲得更多模組型別,.mjs支援,更好的預設值,更為簡潔的模式設定,更加智慧的chunk,新增的splitChunks來自定義分隔程式碼塊等等。升級待4,在打包速度,程式碼體積,數

【踩坑】angularJS 1.X版本中 ng-bind 指令多空格展示

ext 數據庫查詢 sci 接收 可能 color 最終 數據 目的 做項目的時候遇到的問題 1、問題描述   用戶在表單某個值輸入多個空格,例如:A B,保存至服務器   在列表查詢頁面中使用bg-bind的指令單向綁定,結果展示位A B,連續的空格被替換

Redis入門指南-筆記-進階

back 進階 返回 單位 告訴 watch 是把 場景 如果 4.1 事務 (1) 事務是一組命令的集合 (2) 事務同命令一樣是Redis的最小執行單位,一個事務中的命令要麽都執行,要麽都不執行。 (3) 格式:

『TensorFlow』0.x_&_1.x版本框架改動匯總

rate all sop 混淆 rsh rar 引用 future pes 基本數值運算 除法和模運算符(/,//,%)現在匹配 Python(flooring)語義。這也適用於 [tf.div] 和 [tf.mod]。要獲取基於強制整數截斷的行為,可以使用 [tf.

【翻譯Autofac的幫助文檔】1.入門指南

tran 忘記 ref face 設計 一個表 uil 國際 article 【寫在前面】嘗試做完一件工作之外自我覺得有意義的一件事,那就從翻譯Autofac的幫助文檔吧。 入門指南 將Autofac集成你的應用程序的步驟通常很簡單,一般是: 時刻以IOC(控制反

easyui 入門指南

param 功能 eight 移動 支持 定義 padding 入門指南 cti 所有easyui組件都有,屬性,方法,事件,用戶可以簡單的對其擴展. 屬性 屬性定義在 jQuery.fn.{plugin}.defaults中.例如, 對話框組件[dialog]的屬性定

Python 2.7.x 和 3.x 版本區別小結

pythonpython現在很火,最近花了些時間去了解了一下,最初了解的是2.7.x版本,感覺,從書寫上是很不習慣,少了一雙大概號,取而代之的是縮進;然後跟kotlin和swift一樣省去了每行的分號,象我們這種分號強迫癥的人真心的不習慣;還有!True的條件改成not True、while後面可以跟else

(官網)虛幻3--入門指南: 遊戲性元素

要點 生命周期 頁面 bsp 定時 ade 定義 根據 基礎 入門指南: 遊戲性元素 入門指南: 遊戲性元素 概述 遊戲類型概述 玩家概述 HUD和UI概述 概述 有幾個遊戲性元素實際上是所有使用虛幻引擎3或虛幻開發工具包創建的項目所共有的。自定義

人工智能、機器學習和認知計算入門指南

不遠 要素 人工 算法 網絡拓撲 界面 分布 target 用戶 幾千年來,人們就已經有了思考如何構建智能機器的想法。從那時開始,人工智能 (AI) 經歷了起起落落,這證明了它的成功以及還未實現的潛能。如今,隨時都能聽到應用機器學習算法來解決新問題的新聞。從癌癥檢測和預測到

實力幹貨,一名成功VR設計師的入門指南

AR VR 從2016年開始,虛擬現實技術進入了爆發性增長時期!隨著硬件設備的不斷更叠,VR技術已經廣泛應用於娛樂遊戲、購物、影視媒體、醫療健康、科研教學、房地產、旅遊行業等領域!然而硬件的發展依然缺少VR內容的支持,因此VR設計師的吃香程度不言而喻。 據最新的薪資數據

Maven入門指南(二)

deploy ... web服務器 快速 repos 必須 轉載 關於 net 轉載自並發編程網 – ifeve.com本文鏈接地址: Maven入門指南(二) Maven目錄結構 Maven有一個標準的目錄結構。如果你在項目中遵循Maven的目錄結構,就無需在pom文件中