webpack-plugin

认识plugin

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

添加版权的插件

这是最简单的插件,为打包的文件添加版权声明
BannerPlugin,属于webpack自带的插件
既然是自带,就不用下载,只需要修改webpack.config.js文件:

resolve: {
        extensions: ['.js', '.css', '.vue'],
        // 别名
        alias: {
            'vue$': 'vue/dist/vue.esm.js'
        }
    },
    plugins: [
        new webpack.BannerPlugin('最终版权归于我')
    ]

重新打包后:
在这里插入图片描述

el和template区别二

el和template模板的关系是什么?
el用于指定Vue要管理的DOM,可以帮助解析其中的指令,事件监听等等。
而如果Vue实例中同时指定了template,那么template模板的内容会替换掉挂载的对应的el模板
这样做的好处:不需要再以后的开发中在次操作index.html,只需要再template中写入对应的标签即可

打包html的plugin

目前,index.html文件是放在项目的根目录下的
在真实发布项目时,发布的是dist文件夹中的内容,但是dist文件夹中如果没有index.html文件,那么打包等文件也就没有意义了
所以我们需要将index.html文件打包到dist文件夹中,这个时候就可以使用HtmlWebpackPlugin插件
HtmlWebapckPlugin插件可以为我们做这些事情:
自动生成一个index.html文件(可以指定模板来生成)
将打包的js文件,自动通过script标签插入到body中
安装HtmlWebpackPlugin插件:
npm install html-webpack-plugin@3.2.0 --save-dev
安装之后修改配置文件。
1,导入

const HtmlWebpackPlugin = require('html-webpack-plugin')

2,添加:

plugins: [
        new webpack.BannerPlugin('最终版权归于我'),
        new HtmlWebpackPlugin()
    ]

重新打包后,发现dist目录下多了一个index.html文件。
在这里插入图片描述

然后发现在index.html的下面,发现两个问题:
1,路径
在这里插入图片描述
这时候要修改配置:

在这里插入图片描述
2,自动生成模板:
外面的index.html:

<body>
    <div id="app">
    </div>
</body>

在不引入的情况下自动生成模板,要修改配置:

new HtmlWebpackPlugin({
            template: 'index.html'
        })

重新打包之后,自动生成插入进去:
在这里插入图片描述

js压缩的plugin

在项目发布之前,我们必然需要对js等文件进行压缩处理,在这里使用一个插件:uglifyjs-webpack-plugin,并且版本号指定1.1.1,和CLI2保持一致

npm install uglifyjs-webpack-plugin@1.1.1 --save-dev

之后修改配置文件:

查看bundle.js,时已经被压缩了
但是这个插件不能和添加版权声明的插件BannerPlugin一起用,因为这个插件会删掉注释,而版权声明就是一个注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值