如何使用webpack针对库进打包?针对业务库进行打包

    对于一个npm包,使用者可能通过可能存在以下方式来引入

    import xx from ‘xxx’;
    const xx = require(‘xxx’);
    require([‘xx’],function(){
    })

    这个时候我们需要如何配置webpack?

    outPut的libraryTarget的umd是值通用模块

    1. module.exports = {
    2. mode: 'production',
    3. entry: './src/index.js',
    4. externals: 'lodash',
    5. output: {
    6. path: path.resolve(__dirname, 'dist'),
    7. filename: 'library.js',
    8. library: 'root',
    9. libraryTarget: 'umd'
    10. }
    11. }

    script标签方式

    1. module.exports = {
    2. mode: 'production',
    3. entry: './src/index.js',
    4. externals: 'lodash',
    5. output: {
    6. path: path.resolve(__dirname, 'dist'),
    7. filename: 'library.js',
    8. library: 'root',
    9. libraryTarget: 'window|this'
    10. }
    11. }
    12. <script src="liarary.js"><scritpt>

    tips:
    如果在node环境中可以通过libraryTarget配置glob

    如果npm包引入其他npm包,可以通过webpack的 externals来配置

    pageage.json的main