Vite和Wabpack进行打包项目

1 篇文章 0 订阅
1 篇文章 0 订阅

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

答案:打包(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,终端也会有提示访问哪个链接的。

你可以按照以下步骤使用 Rollup 打包 Vue 3 Vite 项目: 1. 首先,确保你已经安装了 Rollup 和相关的插件。可以使用以下命令进行安装: ```shell npm install --save-dev rollup rollup-plugin-vue@next rollup-plugin-terser ``` 2. 在项目根目录下创建一个 `rollup.config.js` 文件。 3. 在 `rollup.config.js` 文件中,导入必要的插件和模块: ```javascript import { defineConfig } from 'rollup'; import vue from 'rollup-plugin-vue'; import { terser } from 'rollup-plugin-terser'; ``` 4. 定义 Rollup 配置: ```javascript export default defineConfig({ input: 'src/main.js', // 入口文件路径 output: { file: 'dist/bundle.js', // 输出文件路径 format: 'iife', // 输出模块格式 name: 'MyApp', // 全局变量名称(可选) }, plugins: [ vue(), // 处理 .vue 单文件组件 terser(), // 压缩代码(可选) ], }); ``` 这里的 `input` 配置应该指向你项目中的入口文件,一般是 `main.js` 或者 `index.js`。`output` 配置指定了打包后的输出文件路径和格式,这里使用了立即执行函数(IIFE)格式,你可以根据需要选择其他格式。`name` 可选,它指定了全局变量名称,如果你希望在浏览器中直接引入打包后的文件,可以设置该值。 5. 在项目的 `package.json` 文件中添加一个脚本命令以运行 Rollup: ```json { "scripts": { "build": "rollup -c" } } ``` 6. 运行以下命令进行打包: ```shell npm run build ``` 打包完成后,你将在 `dist` 目录下找到打包后的文件。 这样,你就可以使用 Rollup 打包 Vue 3 Vite 项目了。如果需要更详细的配置,可以参考 Rollup 和相关插件的文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值