在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打包 的相关文章

  • Vuejs 在模板中添加多行?

    我想知道在构建 Vuejs 模板时如何最好地安排新行 我的代码不起作用 因为它破坏了 JavaScript 容器 Vue js 希望我将整个 html 放在一行中 当我计划添加页脚内容时 这有点不切实际 Vue component foot
  • Apollo 客户端“未找到命名导出‘删除’”

    我正在尝试创建一个apollo client插件Nuxt 3应用 它当前抛出有关名为的包的错误ts invariant file Users my name Repositories project node modules apollo
  • 基于 json 文件动态显示选择、复选框、日期选择器等

    对我之前的问题的补充 我根据 json 文件动态显示输入字段 现在我想根据它们的组显示选择项 复选框和日期选择器 我如何解决这个问题 我需要将这些元素推入computeJSON 但写入例如选择options item selection不管
  • Angular cli - 在“deployUrl”选项被弃用后在 webpack 中设置“publicPath”

    我希望在这里得到更多答案 开放问题角度 cli https github com angular angular cli issues 22113以及 从角度 13 开始 它说deployUrl正在被弃用 在我们的项目中 我们定义deplo
  • Webpack中watch编译时加速scss的方法

    太长了 滚动到底部寻找答案 或者将 Webpack 和 Dart Sass VM 结合起来 https github com sass dart sass releases https github com sass dart sass r
  • 如何将类应用于 Buefy 表中的特定单元格?

    我想知道是否有一种方法可以动态应用针对 Buefy 表中特定单元格的类 作为示例 以下是我正在处理的代码 模板
  • 如何将函数导入到Vue组件中?

    我正在尝试将单个函数导入到我的 Vue 组件中 我为我的函数创建了一个单独的 js 文件 randomId js exports randomId gt My function 在我的 Vue 组件中 我导入了 Random js let
  • Webpack 在 Angular 的 ng 服务中的作用

    我是 Angular 的新手 想知道当我们为应用程序提供服务时 Webpack 在幕后扮演什么角色 在最初的印象中 我开始知道 webpack 是一个构建和打包工具 它将所有必需的 JS 文件分组到单独的包中 然而 我无法找到 webpac
  • ./types 的大小写与底层文件系统不匹配

    所以我从 eslint 收到了一些奇怪的警告 types 是流类型文件 我认为 eslint 将 checkbox 读取为小写 而实际上它是 Checkbox 大写 C I try git mv casesensitive tmp git
  • 当 Vuejs 中的 props 值发生变化时,DOM 不会更新

    我有父母和孩子 在父级中 我将 3 个变量作为 props 传递给子级 在孩子中我正在使用watch 寻找变量的变化 当孩子第一次被创建时watch按预期工作 但是当更新 props 中的数据时 子级的 DOM 不会更新 正在寻找变量数据变
  • 作为对象访问 vue-i18n 消息

    我想创建一个取决于页面的动态滑块 security signin slide1 Kitten1 slide2 Kitten2 signup slide1 Kitten1 slide2 Kitten2 slide3 Kitten3 问题是我想
  • 如何在 webpack laravel mix 中使用 google font v2 API 导入 sass 文件中的 url?

    我正在尝试导入一个谷歌字体 https fonts google com specimen Inter sidebar open true selection family Inter wght 500 600 700 800 900进入我
  • Webpack 和 Angular HTML 图像加载

    我一直对 webpack 和 Angular 感到头疼 这可能有一个简单的答案 但我无法弄清楚 我已经阅读了堆栈溢出中关于这个主题的几乎所有答案 但都无济于事 我有一个像这样的 html 页面 还有其他包含图像的模板 img
  • 关闭 css 、 vue cli 3 webpack 4 的单独块

    我正在使用使用最新版本的 vue cli 3 创建的项目 我使用的是默认配置 我的路由器有很多动态导入的路由 我的 css 和 js 在生产环境中运行时都被分成多个块 虽然 js 的行为是可取的 我的 css 文件非常小 我想关闭 css
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • 如何判断何时创建新组件?

    我一直在寻找背后的逻辑当有人在 AngularJS Angular 上的 Web 应用程序中创建新组件时但我认为这更通用 可能适用于所有基于组件的前端框架 我知道有像这样的一些原则应该是抽象的和可重用的但例如我在角度文档中看到 每个单独的路
  • 使用组合 API 和 TypeScript 类型系统强类型化 vue 组件的 props

    我正在使用 vue 组合 api 和 typescript 如何使用打字稿输入系统强类型化组件属性 特洛伊 凯西尔的回答并不完全准确 我引用的文档definecomponent https vue composition api rfc n
  • 找不到“节点”的类型定义文件

    更新 Angular Webpack 和 TypeScript 后出现奇怪的错误 知道我可能会错过什么吗 当我使用 npm start 运行应用程序时 出现以下错误 at loader Cannot find type definition
  • 如何在Vue.js中格式化当前日期格式

    我需要获取当前日期Vue js 为此 我使用了以下方法 today date new Date toJSON slice 0 10 replace g today date将给出日期2019 09 11格式 有什么方法可以自定义这种格式吗
  • 在 Angular 中使用 Vue 组件

    我有一个用 Vue 构建的项目 我想在 Angular 应用程序中重用 Vue 应用程序中的组件 这样我就不必从头开始重建每个组件 我在medium上看到了这个教程 如何在 Angular 应用程序中使用 Vue 2 0 组件 https

随机推荐

  • 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