程序笔记   发布时间:2022-07-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Webpack打包library初体验大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

以下内容均以webpack配置中的output.library.type: 'umd'为基础

使用webpack将文件打包为library后,打包好的文件被script标签引用时,library的名字会被放在全局变量中等待使用,至于库名下的内容,则与webpack配置中的output.library.export属性值相关。

export默认值

当没有配置output.library.export/output.library.type为空字符串时,export的默认值为undefined.此时打包library,在使用库时,库名下的内容为主文件下的所有导出内容

export: 'default'

output.library.export的值为default时打包,打包后在使用库时,库名下的内容为主文件下使用关键字export default导出的内容

export: ['xx1', 'xx2']

output.library.export的值为['xx1', 'xx2']时打包,打包后在使用库时,库名下的内容为主文件下使用关键字export let/const xx1导出的内容中的xx2的属性值

案例演示

准备工作

初始化项目

npm init -y

安装webpack

npm i webpack webpack-cli -D

配置webpack

const { resolve } = require('path')
module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: resolve(__dirname, 'dist'),
    library: {
      name: 'Testfile', // 库名
      type: 'umd', // 允许导出的库可以在CommonJS/AMD的规范下使用,也可以作为全局变量使用
      export: 'default' // 默认是undefined,不能是空字符串[打包会报错]
    }
  }
}

新建测试js文件

新建test.js文件

在根目录的src目录下创建test.js文件

class Test {
  constructor () {}

  setAge (age) {
    this.age = age;
  }

  getAge () {
    return this.age;
  }
}

export default Test

新建index.js文件

在根目录的src目录下创建index.js文件

import Test from "./Test";

export let a = 3
export let obj = {chineseName: '中国'}
export default Test

新建测试index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <script src="./dist/bundle.js"></script>
  <script>
    debugger
  </script>
</body>
</html>

配置webpack到package.json

package.json中的scripts下添加

"dev": "webpack"

打包测试

打开控制台,输入npm run dev,打包库

运行index.html文件

在浏览器中打开index.html文件,并打开开发者工具,刷新页面。

export类型

webpack中没有配置export属性

可以在开发者工具中看到全局变量Testfile的内容为

Webpack打包library初体验

此时Testfile是一个包含了index.js中导出的所有内容的对象

export属性值为default

可以在开发者工具中看到全局变量Testfile的内容为

Webpack打包library初体验

此时Testfile是index.js中使用export default导出的内容

export属性值为a

可以在开发者工具中看到全局变量Testfile的内容为

Webpack打包library初体验

此时Testfile是index.js中使用export let a = 3导出的内容结果值

export属性值为['obj', 'chineseName']

可以在开发者工具中看到全局变量Testfile的内容为

Webpack打包library初体验

此时Testfile是index.js中使用let obj = {chineseName: '中国'}导出的内容结果值

大佬总结

以上是大佬教程为你收集整理的Webpack打包library初体验全部内容,希望文章能够帮你解决Webpack打包library初体验所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: