使用webpack给大屏自适应插件autofit.js增加umd打包方式

最近有个大屏自适应的需求,而且想直接通过script标签来引入自适应的插件js,搜索相中了autofit.js,可惜不支持umd格式的引入,虽然也能直接copy源码,但是还是折腾下给它打包成umd格式的代码。

fork源码,克隆到本地。

安装webpack,webpack-cli

bash 复制代码
npm install webapck webpack-cli -D

配置webpack.config.js

typescript 复制代码
const path = require("path");

module.exports = [
  {
    mode: "production",
    entry: "./autofit.js",
    output: {
      filename: "autofit.umd.js",
      path: path.resolve(__dirname, "dist"),
      library: {
        type: "umd",
        name: "Autofit",// 配置库的名称,window.Autofit
      },
    },
  },
  {
    mode: "production",
    entry: "./autofit.js",
    experiments: {
      outputModule: true,// webpack输出esm模块需要配置该项,打包库最好还是用rollup其他的,webpack还是适合打包application
    },
    output: {
      filename: "autofit.esm.js",
      path: path.resolve(__dirname, "dist"),
      library: {
        type: "module",// 打包成esm模块
      },
    },
  },
];

npx webpack 执行打包命令

输出到dist目录。

发布npm包

bash 复制代码
npm login # 输入 username ,password,email进行登录
npm publish --access=public

npm地址

相关推荐
demi_meng1 小时前
reactNative 遇到的问题记录
javascript·react native·react.js
千码君20162 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
lijun_xiao20094 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔4 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
杰克尼4 小时前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder4 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
90后的晨仔4 小时前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js
90后的晨仔4 小时前
Vue 内置组件全解析:提升开发效率的五大神器
前端·vue.js
我胡为喜呀4 小时前
Vue3 中的 watch 和 watchEffect:如何优雅地监听数据变化
前端·javascript·vue.js
我登哥MVP5 小时前
Ajax 详解
java·前端·ajax·javaweb