91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用webpack打包一個庫library

發布時間:2021-02-02 10:30:55 來源:億速云 閱讀:290 作者:小新 欄目:web開發

這篇文章給大家分享的是有關如何使用webpack打包一個庫library的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

初始化庫

mkdir library
cd library
npm init -y

經過以上步驟后會生成一個library文件夾,里面包含一個package.json文件。然后簡單修改為如下所示:

{
 "name": "library",
 "version": "1.0.0",
 "description": "",
 "main": "./dist/library.js",
 "scripts": {
  "build": "webpack"
 },
 "keywords": [],
 "author": "rocky",
 "license": "MIT"
}

簡單創建幾個文件

在根目錄下新建src文件夾,新建一個math.js和string.js。相關文件內容如下:

// math.js
export function add(a,b){
  return a+b;
}

export function minus(a,b){
  return a-b;
}

export function multiply(a,b){
  return a*b;
}

export function division(a,b){
  return a/b;
}
// string.js
export function join(a,b){
  return a+" "+b;
}

繼續新建一個index.js

import * as math from "./math";
import * as string from "./string";

export default {math,string}

簡單安裝webpack依賴

npm install webpack webpack-cli --save

安裝的同時,可以創建webpack配置文件webpack.config.js,如下配置:

const path = require("path");

module.exports={
  mode:"production",
  entry:"./src/index.js",
  output:{
    path:path.resolve(__dirname,"dist"),
    filename:"library.js",
    library:"library",// 在全局變量中增加一個library變量
    libraryTarget:"umd"
  }
}

安裝成功后,執行打包命令

npm run build

之后會在根目錄下生成一個dist文件夾,里面包含一個library.js。

如何使用呢?

如果別人要使用這個打包后的library.js的話,可能會有如下幾種方式:

// es6方式
import library from "library"

// commonjs方式
const library=require("library")

// AMD方式
require(["library"],function(){})

// script標簽引入
<script src="library.js"></script>

在dist文件夾里創建一個index.html,用script引入之前打包生成的library.js。瀏覽器打開index.html,在控制臺中輸入library,會得到如下所示的結果:

如何使用webpack打包一個庫library

一個簡單的庫便打包生成了。

注解:webpack中libraryTarget配置項可以設為umd,表示采用umd規范,如果設置為this,表示在this下掛載了一個library變量。更多用法可參考webpack官網。

引入別的庫用法

假設需要引入lodash.安裝lodash

npm install lodash --save

修改之前創建的string.js

import _ from "lodash";

export function join(a,b){
  // return a+" "+b;
  return _.join([a,b]," ");
}

運行打包命令,發現打包出來的庫體積變大了,因為我們引入了lodash,導致包變大。怎么辦呢?修改webpack配置文件。
增加一個externals配置項:

const path =require("path");

module.exports={
  mode:"production",
  entry:"./src/index.js",
  externals:["lodash"],// 配置不打包文件
  output:{
    path:path.resolve(__dirname,"dist"),
    filename:"library.js",
    library:"library",
    libraryTarget:"umd"
  }
}

之后打包就會發現庫的體積又變小了。

感謝各位的閱讀!關于“如何使用webpack打包一個庫library”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平原县| 交城县| 江城| 洛川县| 四会市| 太仓市| 平度市| 革吉县| 江山市| 丁青县| 山阴县| 溧阳市| 太康县| 嘉祥县| 静海县| 平定县| 竹北市| 邯郸县| 汶上县| 冷水江市| 平塘县| 太白县| 达州市| 上林县| 青冈县| 历史| 祁东县| 朔州市| 浦北县| 友谊县| 兰州市| 资中县| 同仁县| 邵武市| 绥阳县| 卢龙县| 新巴尔虎左旗| 石棉县| 武隆县| 车致| 南平市|