webpack学习与总结(三)-webpack使用vue的配置/plugin

本文详细介绍了在webpack中配置vuejs的过程,包括引入vuejs、处理runtime-only版本错误、el与template的区别、.vue文件的封装以及如何处理版本不兼容问题。此外,还探讨了webpack插件如BannerPlugin、HtmlWebpackPlugin和UglifyisWebpackPlugin的使用方法,旨在帮助读者深入理解webpack配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

在我们开发中,通常会使用vuejs来进行开发,而且会以特殊的文件来组织vue的组件,在此总结一下webpack中配置vuejs

引入vuejs

我们希望在项目中使用vuejs,那么必须需要其有所依赖,所以需要先进行安装

npm install vue --save

安装成功后,我们就可以在项目中引入vuejs,使用vuejs.
在这里插入图片描述
在 index.html文件中,引入:
在这里插入图片描述
完成以上操作后,我们需要将项目重新打包,运行。打包过程没有出错,但是当我们运行时却发现没有结果。显示错误:

错误

在这里插入图片描述
这个错误说的是我们使用的是: runtime-only版本的vue,不同版本的vue使用方法不一样:

  • runtime-only,代码中,不可以有任何的template
  • runtime-compiler:代码中,因为有compiler可以用于编译template

解决方法

我们需要修改webpack的配置,添加下列内容即可;
在这里插入图片描述

el 与template的区别

有时候,我们需要将data中的数据显示在界面中,就必须需要修改index.html,如果我们后面自定义了组件,也必须修改Index.html来使用组件.但是我们往往不希望手动的来频繁的修改,这时候我们就需要使用template

定义template属性

  • 在vue实例中,我们定义了了el属性,用于和Index.html中的#app进行绑定,让vue实例之后可以管理它其中的内容
  • 我们可以将div元素中的{{Message}}内容删掉,只保留一个基本的id为div的元素
  • 但是我们依然希望在其中显示{{message}}的内容,实现方法:
    在这里插入图片描述

如果项目中同时存在template和el,template会替换el中的内容。

.vue文件的封装

  • 安装vue-loader 和vue-template-compiler

>npm install --save-dev vue-loader vue-template-compiler

  • 修改webpack.config.js的配置文件
  • { test: /\.vue$/, use: ['vue-loader'] }

如果出现版本不兼容的情况

  • 处理方法:修改版本号i,然后执行命令:npm install

plugin

  • plugin是插件的意思,通常用于对某个现有架构进行扩展
  • webpack中的插件,就是对webpack现有功能进行各种扩展,比如打包优化,文件压缩等
  • loader和plugin的区别
    • loader主要用于转换某些类型的模块,他是一个转换器
    • plugin是插件,它是对webpack本身的扩展,是一个扩展器
  • plugin使用过程
  • 1.通过npm安装需要使用的plugins(某些webpack已经内置的插件不需要安装)
  • 2.在webpack.config.js中的plugins中配置插件

添加版权的plugin

该插件名称为:BannerPlugin,属于webpack自带的插件
按照下面的方法来修改webpack.config.js的文件:

在这里插入图片描述

  • 重新打包程序:查看bundle.js的头部,看到如下信息:
    在这里插入图片描述

HtmlWebpackPlugin

  • 我们创建的index.html文件是存放到项目的根目录下的。
  • 但是我们知道,在真实发布项目时,发布的是dist文件夹的内容,但是dist文件夹中如果没有index.html,那么打包的Js等文件也就没有意义了。所以我们需要将index.html文件打包到dist文件夹中,这个时候就可以使用htmlWebpackPlugin插件
  • 引入插件可以为我们做的这些事情
    • 自动打包生成一个Index.html(可以指定模板来生成)
    • 将打包的js文件,自动通过script标签插入得到body中
  • 安装htmlWebpackPlugin插件npm install html-webpack-plugin --save-dev
  • 使用插件,修改webpack.config.js文件中的plugins部分的内容如下:
  • template表示根据什么模板来生成index.html
  • 另外,我们需要删除之前在output中添加的publicPath属性
  • 否则插入的script标签中的src可能会有问题
    在这里插入图片描述
 plugins:[
      new webpack.BannerPlugin('最终版权归aaa所有'),
      new HtmlWebpackPlugin({
        template: 'index.html'
      })
  ]

在这里插入图片描述

UglifyisWebpackPlugin

  • 在一个项目发布之前,我们需要对打包的JS文件进行压缩
  • 我使用一个第三方的插件uglifyis-Webpack-Plugin,并且制定版本号为1.1.1,与CLI2保持一致npm install uglifyjs-webpack-pligin@1.1.1 --save-dev
  • 修改webpack.config.js文件,使用插件:
  • 查看打包过得bundle.js文件,已经被压缩过了
    在这里插入图片描述

总结

在学习webpack配置的过程中,配置较为复杂,有时候会因为各种版本之间的兼容性问题而出现各种错误,但好在自己克服了。虽然后面会使用脚手架来进行开发,但是个人觉得,深入学习了解webpack的配置确实更容易让自己将知识掌握得牢固。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值