webpack配置打包出自己的库

1,自己打包的库无别的库引入时候

webpack.config.js

const path = require('path')

module.exports = {
    mode: 'production',
    devtool: 'cheap-module-source-map',
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'library.js',
        library: 'library', // 配置这里 支持script标签引入
        libraryTarget: 'umd'  // umd支持通用的模块化引入方法(cmd、amd、esmodule)
    }
}

引入方法:

//模块化引入(或者cmd,amd等方式引入)
import library from 'library'

/*也可在html中用script标签引入*/
<script src="library.js"></script>

2, 如果自己打包的库还引用了别的库的话,这时候打包的库不应该将别的库也打包进去,这样会增加代码体积和导致库重复引入的问题。

webpack.config.js

const path = require('path')

module.exports = {
    mode: 'production',
    devtool: 'cheap-module-source-map',
    entry: './src/index.js',
    // externals配置 表示不需要打包进库里的外库
    // externals: ["lodash"], // 这个表示任何引入模式下名字都叫做lodash,推荐用这个配置
    externals: {
        lodash: {
            root: '_', // 如果这个外库是全局引入的,那么他的变量名必须是_才行
            commonjs:'lodash' // 如果这个外库在commonjs环境下被引用,这个lodash名字必须被起成lodash 例: const lodash = require('lodash')        
          
        }
    }
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'library.js',
        library: 'library', // 配置这里 支持script标签引入
        libraryTarget: 'umd'  // umd支持通用的模块化引入方法(cmd、amd、esmodule)
    }
}

引入方式

import lodash from 'lodash' // 这个是library依赖的库
import library from 'library'

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值