首页 > 其他分享 >Vite和Wabpack进行打包项目

Vite和Wabpack进行打包项目

时间:2024-10-11 19:47:43浏览次数:10  
标签:vue dist Wabpack Vite js 打包 loader vite

问题:首先,咱们为什么要打包?

答案:打包(Packaging)是软件开发中的一个重要步骤,主要目的是将开发好的代码和依赖项打包成一个可分发和运行的格式。

关键原因:依赖管理、环境隔离、便于分发、版本控制、安全性、性能优化、部署简化

在不同的编程语言和框架中,打包工具和方法可能会有所不同。

        

技术栈部分打包工具
TypeScript/JavaScripptWebpack、Rollup、Vite
Vue

Vue CLI、Vite、Webpack

ReactWebpack、Vite

一、Vite打包

介绍:Vite是一个现代化的前端构建工具,专为现代JavaScript框架(如Vue.js、React等)设计。它在开发环境中使用原生ES模块和HTTP服务器,并在生产环境中使用Rollup进行打包。Vite的性能非常高,特别适合大型(SPA)单页应用。

        1、创建配置文件

在项目根目录中的vite.config.js文件中进行配置,如果是ts,那么就是在vite.config.ts文件中

// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; // 如果使用 Vue.js

export default defineConfig({
  plugins: [vue()], // 根据框架选择插件
  build: {
    outDir: 'dist', // 打包输出目录
    sourcemap: true, // 生成 Source Maps
    rollupOptions: {
      input: {
        main: './index.html', // 入口文件
      },
    },
  },
});

        2、配置运行打包命令

package.json 中,Vite 通常会自动添加打包脚本。

"scripts": {
  "dev": "vite",        // 开发模式
  "build": "vite build", // 打包命令
  "serve": "vite preview" // 预览打包后的项目
}

        3、通过一下命令进行打包

npm run build

 

到此就Vite工具打包完成了,查看根目录下有没有多一个dist目录,里面就是生成的构建文件!!!

二、Webpack打包

介绍:Webpack是一个广泛使用的JavaScript模块打包工具,适用于前端项目。它可以将模块化的代码打包成可以在浏览器中运行的格式。

        1.配置Webpack

const path = require('path');
const { VueLoaderPlugin } = require('vue-loader');

module.exports = {
  mode: 'development',
  entry: './src/main.js', // 入口文件
  output: {
    path: path.resolve(__dirname, 'dist'), // 打包输出目录
    filename: 'bundle.js', // 输出文件名
    publicPath: '/', // 配置公共路径
  },
  resolve: {
    extensions: ['.js', '.vue', '.json'], // 可省略的扩展名
    alias: {
      vue$: 'vue/dist/vue.esm-bundler.js', // Vue 的别名
    },
  },
  module: {
    rules: [
      {
        test: /\.vue$/, // 匹配 .vue 文件
        loader: 'vue-loader',
      },
      {
        test: /\.js$/, // 匹配 .js 文件
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
          },
        },
      },
      {
        test: /\.css$/, // 匹配 .css 文件
        use: ['style-loader', 'css-loader'],
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, // 匹配图片文件
        loader: 'file-loader',
        options: {
          name: '[name].[hash:8].[ext]', // 输出文件名格式
          outputPath: 'assets/', // 输出路径
        },
      },
    ],
  },
  plugins: [
    new VueLoaderPlugin(), // 添加 VueLoaderPlugin
  ],
  devServer: {
    contentBase: path.join(__dirname, 'dist'), // 指定内容路径
    compress: true,
    port: 9000, // 指定端口
    historyApiFallback: true, // 支持 HTML5 History API
  },
};

        2.添加打包的命令

"scripts": {
  "dev": "vite",        // 开发模式
  "build": "vite build", // 打包命令
  "serve": "vite preview" // 预览打包后的项目
}

        3.执行打包的命令

npm run build

到此就Webpack工具打包完成了,查看根目录下有没有多一个dist目录,里面就是生成的构建文件!!!

三、运行构建后的项目

为了查看打包后的项目,你可以使用一个简单的静态文件服务器,比如 serve等等

        1.安装 serve

npm install -g serve

        2.运行构建后的文件

dist 目录下运行 serve,请执行下列命令

serve -s dist

        3.访问项目

打开浏览器,访问 http://localhost:5000,默认端口是5000,终端也会有提示访问哪个链接的。

标签:vue,dist,Wabpack,Vite,js,打包,loader,vite
From: https://blog.csdn.net/wxt_1005/article/details/142860992

相关文章

  • 【教程】0x04 绘制记牌器窗口及插件打包 —— 通过MYScrcpy学python系列
    前言MYScrcpyGithub/Gitee从1.6.4版本开始,MYScrcpy为童鞋们提供了一个开放的插件开发环境(Extensions)。童鞋们可以根据需要自行开发插件。本章主要讲解如何通过面向对象的思想,借助Dearpygui绘制一个记牌器面板,同时如何打包插件进行共享。注意插件用于功能测试及......
  • 运行使用Electron-forge打包的electron package时遇到在js文件中执行的exec命令和在渲
    js文件中执行的exec命令出错很可能是项目中使用了一些非html,css,js的源文件,比如用了Makefile来编译了cpp代码,或者执行的exec命令为cpdir/something.cpp之类的文件操作命令。可以使用修改forge.config.js文件配置的方式,使得npmrunmake的时候自动把Makefile等exec命令中用到......
  • 从零搭建Cesium+vue3+vite
    介绍在现代前端开发中,Cesium是一个功能强大的WebGL库,广泛应用于3D地球可视化、空间数据展示等领域。结合Vue3的组件化开发模式,我们可以创建一个高效且可维护的3D地图应用。本文将带你一步步搭建一个简单的Cesium+Vue3项目,并且对各个功能模块进行细致划分,帮助你快......
  • python 打包 py 文件 为exe
    使用pyinstaller来进行打包pipinstallpyinstaller可能需要全局科学代理上网或者修改下载源地址执行命令图标path:C:\desktop\icon文件path:C:\pycharm\project\bingdundun.exe1、指定文件路径打包:pyinstaller-FC:\pycharm\project\bingdundun.exe2、不带窗......
  • Python - 使用pyinstaller如何打包多个py文件
    0.前言:为了更好的管理python代码,经常我们需要把独立的功能/类写成一个单独的py文件,以方便查阅和读取修改。一般我们使用pyinstaller打包只是打包单一文件即可。但是打包多个文件就比较复杂  正文:1.我的文件结构如图。一个主文件,一个模块文件、还有两个图标文件命令添加:......
  • 在 X86_64(amd64) 平台上的docker支持打包跨平台的镜像(如arm64)
    在信创,ARM开始崛起的现在,Docker也从一开始的只支持x86_64架构变为支持各种架构了,虽然Docker的目的是保证只要Docker安装好,在任意机器上运行都能达到一样的效果,但是这个的前提是Docker镜像的架构和当前服务器的架构一致,以前都是x84_64架构自然可以,但现在也有别的架构,因此......
  • 复制粘贴,快速将Python程序打包成exe
    为了将Python程序发送给不懂代码和没有安装Python的同事、朋友使用,最好的方式就是将Python程序打包成exe可执行文件,再发送给他们。我之前曾经打包过几次,操作并没有难度,但不会记打包命令,每次打包时都需要重新查命令。所以本文记录打包过程,需要打包时可以直接复制粘贴,快速完成,......
  • 折腾笔记[2]-跨平台打包tauri程序
    摘要在macOS(arm64)平台打包tauri程序到Windows(amd64)平台.AbstractPackagingaTauriapplicationfortheWindows(amd64)platformfrommacOS(arm64).关键信息构建平台:macOS14.6.1(arm64)目标平台:Window10(amd64)原理简介nsis简介[https://nsis.sourceforg......
  • [Electron] 搭建 Vite+Electron 项目
    安装搭建Vite项目(根据官方文档搭建),安装electron、nodemon。pnpminstallelectronnodemon-D配置electron/main.jsfile:[electron/main.js]import{app,BrowserWindow}from"electron";constcreateWindow=()=>{constwin=newBrowserWindow({wid......
  • 打包网页的一次尝试
    1.下载Node.js更换cnpm:npminstall-gcnpm--registry=https://registry.npmmirror.com在C:\Users\Administrator\.npmrc中添加源registry=https://registry.npmmirror.comdisturl=https://registry.npmmirror.com/-/binary/nodeelectron_mirror=https://cdn.npmmirror.co......