webpack的plugins插件

安装:
cnpm i webpack-dev-server --save-dev
配置文件提供一个入口和一个出口,webpack根据这个来进行js的打包和编译工作。虽然webpack提供了webpack --watch的命令来动态监听文件的改变并实时打包,输出新bundle.js文件,这样文件多了之后打包速度会很慢,此外这样的打包的方式不能做到hot replace,即每次webpack编译之后,还需要手动刷新浏览器。
webpack-dev-server其中部分功能就能克服上面的2个问题。webpack-dev-server主要是启动了一个使用express的Http服务器。它的作用主要是用来伺服资源文件。此外这个Http服务器和client使用了websocket通讯协议,原始文件作出改动后,webpack-dev-server会实时的编译,但是最后的编译的文件并没有输出到目标文件夹。
loaders用来转换某种特定类型的module,plugins则用来在一些合适的时机执行一些特定的任务,比如代码分割、静态资源处理、环境变量的注入、将所有css的module抽取为单个文件等。webpack自身也是用插件系统构建起来的。插件的目的是做任何loaders做不了的事情。
在devServser下使用:

webpack提供了一个可以动态生成html文件的插件:html-webpack-plugin
html-webpack-plugin可以为生成的html页面自动添加静态资源引用的script标签
还有常用插件:clean-webpack-plugin,webpack打包输出前删除指定目录代码
安装:
cnpm install html-webpack-plugin clean-webpack-plugin --save-dev

// 自动生成html的插件-根据模板页面生成新的页面
var HtmlWebpackPlugin = require('html-webpack-plugin');
// 清除之前打包的文件
var CleanWebpackPlugin = require('clean-webpack-plugin');
  devServer: {
        contentBase: 'dist/'
    },
    plugins: [
        // 使用模板./index.html根据当前的index.html页面生成新的页面
       new HtmlWebpackPlugin({template: './public/index.html'}),
        // 需要使用插件清除的文件名,当执行webpack命令时会先将指定目录下的文件删除
        new CleanWebpackPlugin(['dist']),
    ]

由于html-webpack-plugin可以自动为我们生成html页面,所以我们将html里面写死的js引用删除
html-webpack-plugin插件按照配置,使用根目录下index.html为模板生成页面
放入output.path配置的输出目录’dist’下
新生成的dist/index.html中自动添加了引用bundle.js的script标签
index.html和静态资源在同一目录下,所以不存在引用路径找不到的问题
所以可以将output.publicPath: '/dist’配置项注释掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
webpack常用插件有许多,其中一个常用插件是HotModuleReplacementPlugin。这个插件webpack模块自带的,可以通过引入webpack后,在plugins配置项中直接使用即可。使用该插件可以实现热更新功能,即在开发过程中,代码修改后可以自动更新页面而无需手动刷新。另外,还有一个常用的插件是html-webpack-plugin,可以生成一个HTML文件,并自动将打包后的资源文件(如CSS和JS)插入到HTML中。这些插件可以大大提高开发效率和项目的可维护性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [总结18个webpack插件,总会有你想要的!](https://blog.csdn.net/qq_29438877/article/details/106866201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [分享18个webpack插件,你千万要收藏好,留备用](https://blog.csdn.net/webqianduan1/article/details/107677602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值