You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js如何将整个应用打包为单个JS文件 打包工具相关问题

Vue项目打包为单JS文件配置方案

1. Vue CLI 构建项目配置

修改项目根目录下的vue.config.js文件,配置如下:

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  productionSourceMap: false, // 关闭source map文件,减少产物体积
  css: {
    extract: false // 不单独提取CSS文件,样式直接嵌入JS
  },
  configureWebpack: {
    optimization: {
      splitChunks: false // 关闭代码分割,不生成独立的chunk文件
    },
    output: {
      filename: 'consent-manager.js', // 自定义打包后的文件名称
      libraryExport: 'default',
      library: 'ConsentManager', // 引入后全局挂载的变量名
      libraryTarget: 'umd' // 兼容不同场景的引入方式
    }
  }
})

配置完成后执行npm run build,dist目录下只会生成单个指定名称的JS文件。

2. Vite 构建项目配置

修改项目根目录下的vite.config.js文件,使用库模式打包:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  build: {
    lib: {
      entry: './src/main.js', // 替换为你的项目入口文件路径
      name: 'ConsentManager',
      fileName: () => 'consent-manager.js',
      formats: ['umd']
    },
    cssCodeSplit: false, // 关闭CSS拆分,样式全部嵌入JS
    rollupOptions: {
      output: {
        inlineDynamicImports: true, // 关闭动态导入拆分,保证产物为单文件
      }
      // 如果你希望工具依赖使用者环境的Vue,不把Vue打包进产物,放开下方注释即可
      // external: ['vue'],
      // output: {
      //   globals: {
      //     vue: 'Vue'
      //   }
      // }
    }
  }
})

配置完成后执行npm run build即可得到单JS文件产物,不需要额外依赖,直接在页面body中引入就可以调用全局挂载的ConsentManager对象完成工具初始化,符合同意授权管理工具的使用场景。

内容的提问来源于stack exchange,提问作者Caio César P. Ricciuti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:39:02