在vue中使用webpack打包

2023-11-03

webpack named logo | webpack developer outfitters

1.安装webpack:

npm install vue@2 vue-loader@15 vue-template-compiler@2 --save-dev

2.在项目中创建webpack.config.js,配置:

const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');//负责解析'vue'文件中的各个部分(模板、脚本、样式)并将其转换为webpack可处理的模块 = require('vue-loader/lib/plugin');//负责解析'vue'文件中的各个部分(模板、脚本、样式)并将其转换为webpack可处理的模块
const HtmlWebpackPlugin = require('html-webpack-plugin'); //生成html
const MiniCssExtractPlugin = require('mini-css-extract-plugin');//将css打包后的js文件中抽取出来,生成独立的css文件。通过抽取css到独立的文件可以实现样式的分离和优化。通过配置入口文件、输出文件、模块解析规则等。
module.exports = {
  // 1. 指定入口文件
  entry: './src/main.js',
  // 2. 指定输出文件
  output: {
    path: path.resolve(__dirname, 'dist'),//在这个配置中,所有生成的文件将被输出到该目录下。
    //它能够确保生成的路径是标准化的绝对路径,无论在哪个操作系统上运行代码,路径都能够正确解析。
    filename: 'main.js',
    publicPath: './',
  },
  // 3. 配置模块解析规则
  module: {
    rules: [
      {
        // 处理.vue文件
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        // 处理.js文件, 使用Babel进行转义
        test: /\.js$/,
        exclude: /node_modules/,        //排除/node_modules/
        use: {
          loader: 'babel-loader',
        },
      },
      {
        // 处理css文件
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,//将css文件单独处理
          'css-loader',//加载css文件
        ],
      },
    ],
  },

  // 4. 配置解析别名
  resolve: {
    alias: {
      vue$: 'vue/dist/vue.esm.js',//在引入vue.js时可以使用别名'vue'
    },
  },

  // 5. 配置插件
  plugins: [
    new VueLoaderPlugin(), // 处理.vue文件的模块转换为js模块
    new HtmlWebpackPlugin({ // 根据模板生成html文件,将打包后的脚本的样式自动引入
      template: './index.html',
      filename: 'index.html',
    }),
    new MiniCssExtractPlugin({ // 将CSS抽取到单独的文件
      filename: 'style.css',
    }),
  ],

  // 6. 配置开发服务器
  devServer: {//用于配置开发服务器的相关参数,如监听的端口、内容目录等
    contentBase: path.join(__dirname, 'dist'),
    compress: true,
    port: 9000,
  },
};

3.在package.json文件中配置:

"scripts": {
  "build": "vue-cli-service build --fix"
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vue中使用webpack打包 的相关文章

随机推荐

  • LeetCode#88. 合并两个有序数组(Python)

    题目 来源力扣 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2 另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目 请你 合并 nums2 到 nums1 中 使合并后的数组同样按 非递减顺序
  • 很全的 Java 权限认证框架

    今天给大家推荐的这个开源项目超级棒 可能是史上功能最全的 Java 权限认证框架 这个开源项目就是 sa token Sa Token是什么 sa token是一个轻量级Java权限认证框架 主要解决 登录认证 权限认证 Session会话
  • FATFS:一个兼容windows的嵌入式文件系统API使用详解

    FATFS 一个兼容windows的嵌入式文件系统API使用详解 目录 FATFS 一个兼容windows的嵌入式文件系统API使用详解 1 API分类 2 常用API说明 2 1 挂载文件系统与解除挂载 2 2 文件操作 2 2 1 文件
  • arduino 1 读取电机编码器值

    define BAUDRATE 115200 define LEFT 0 左轮 define RIGHT 1 右轮 define FORWARDS true define BACKWARDS false 如果一个变量所在的代码段可能会意外地
  • vue3项目打开本地pdf文件实现方法

    vue3项目打开本地pdf文件实现方法 效果图 引入pdf插件 pdf页面封装 pdf存放目录 结语 效果图 引入pdf插件 注意一定要这个版本 不然会报错key split at is not a function npm install
  • 深度学习入门笔记之VggNet网络

    VGGNet是由牛津大学的视觉几何组 Visual Geometry Group 和谷歌旗下DeepMind团队的研究员共同研发提出的 获得了ILSVRC 2014 2014年ImageNet图像分类竞赛 的第二名 将 Top 5错误率降到
  • 数据库事务的四大特性以及事务的隔离级别

    本篇讲诉数据库中事务的四大特性 ACID 并且将会详细地说明事务的隔离级别 1 数据库事务的四大特性 如果一个数据库声称支持事务的操作 那么该数据库必须要具备以下四个特性 1 1 原子性 Atomicity 原子性是指事务包含的所有操作要么
  • lvgl实现动态切换横竖屏

    有两种方式 一种是通过lvgl自带的软件选择 但是这个效率很慢 而且只支持90度 180度 270度的旋转 不一定达到想要的效果 我需要实现的是这种效果 软件旋转没有办法实现 旋转后会镜像过去 而且如果你的屏幕不是等比例的 比如240 24
  • upload-labs pass02-05攻略(详细)

    pass 02 进入关卡 查看提示和源码 根据源代码我们可以发现 这一关是对文件类型验证 也就是验证MIME信息 接下来我们进行文件上传 使用burpsuit抓包 将Content Type修改为允许上传的类型 image jpeg ima
  • ERROR - Connection is read-only.

    今天在serviceImpl的查询中 调用了一样更新的操作 结果出现如下错误 ERROR Connection is read only Queries leading to data modification are not allowe
  • vi笔记3——vi之快速移动

    vi笔记3 vi之快速移动 VI快速移动主要包含以下内容 This chapter covers Movement by screens Movement by text blocks Movement by searches for pa
  • NDIS的NDIS_PROTOCOL_BLOCK和NDIS_OPEN_BLOCK的介绍

    转载自 http blog sina com cn s blog 4de78d5901000bfd html 本人简单的介绍一种更有效的基于NDIS包拦截技术 大家都知道 NDIS协议驱动程序是通过填写一张NDIS PROTOCOL CHA
  • setns对当前进程无效问题的排查(getpid获取值不变)

    1 复现流程及lxc的处理 demo1程序与执行结果如下 此时在容器内部看不到执行的程序 int main int ret fd pid printf father pid old d n getpid fd open dev ns O R
  • Qt中如何执行HTTPS请求

    在Qt中 可以使用QNetworkAccessManager和QNetworkRequest来执行HTTPS请求 以下是一个基本的HTTPS GET请求示例代码 include
  • 链表面试题-合并两个有序单链表(递归和非递归)

    题目描述 合并两个有序单链表 使得最终的链表也是递增的 节点的结构 typedef struct ListNode ListNode next int data Node 递归 Node MergeListR Node Head1 Node
  • Windows 电脑如何查看端口号被哪个程序占用、查杀进程

    Windows 电脑查杀进程的方 netstat ano findstr 9999 taskkill f t im 25146 进入windows命令窗口之后 输入命令netstat ano然后回车 就可以看到当前启动应用的所有的端口使用列
  • Linux sudo免密设置

    1 root用户下执行sudo vi etc sudoers d superadmin 免密用户 2 vi编辑superadmin 免密用户 ALL ALL NOPASSWD ALL 3 保存退出 这样superadmin用户使用sudo
  • ajax实现向购物车添加,jQuery添加到购物车的互动

    插件描述 当用户决定购买某件物品的浮动购物车交互效果 添加到购物车 的过程 我们习惯于不同的模式 这种模式背后的基本思想是以通知用户 项目已添加到购物车 并为他 她提供一个链接来结帐 我们已经尝试过使用默认情况下 隐藏购物车和显示它当用户单
  • 一文玩转 Java 日志数据脱敏

    许多系统为了安全需要对敏感信息 如手机号 邮箱 姓名 身份证号 密码 卡号 住址等 的日志打印要求脱敏后才能输出 本文将结合个人经历及总结分享一种log4j日志脱敏方式 自定义Layout import org apache logging
  • 在vue中使用webpack打包

    1 安装webpack npm install vue 2 vue loader 15 vue template compiler 2 save dev 2 在项目中创建webpack config js 配置 const path req