webpack学习笔记(三)插件

在webpack中,会指定一个入口文件,而这个入口文件又会依赖与其他的文件(如import xxx.js)
webpack会把这个依赖的关系都记录下来,然后交给webpack编译器,webpack编译器经过加工以后会生成目标文件,比如css文件和js文件。
webpack的编译过程需要一些工具帮忙,这些工具可以帮助webpack执行一些特定的任务,比如:打包优化,资源管理等。这些工具就是plugins

插件文档。
www.webpack.js.org/plugins
包含community社区的插件,weback内置的一些官方的插件,webpack contrib第三方的插件

以HtmlWebpackPlugin为例
首先需要npm install --save-dev html-webpack-plugin

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    entry: './src/index.js',
    output: {
        filename:'bundle.js',
        path: path.resolve(__dirname, './dist'),
        clean: true, 			// 清除上次的打包记录
    },
    mode: 'none',
    plugins:[
        new HtmlWebpackPlugin({
            template:'./src/index.html',	//设置导出的html模板
            filename:'app.html',			//设置导出的html文件名
            inject:'body',					//设置引入的js文件(上述output中bundle.js的引入位置)
        })
    ]
}

webpack-dev-server提供了一个基本的web server,并且具有live reloading(实时重新加载)功能。当页面修改了并且编译后,浏览器会侦听到文件的修改,来实现自动刷新。
webpack-dev-server没有输出任何的物理文件,他把输出的打包以后的bundle文件放到了内存里
安装npm install --save-dev webpack-dev-server
运行npx webpack-dev-server

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    entry: './src/index.js',
    output: {
        filename:'bundle.js',
        path: path.resolve(__dirname, './dist'),
        clean: true,
    },
    mode: 'development',
    devtool:'inline-source-map',
    plugins:[
        new HtmlWebpackPlugin({
            template:'./src/index.html',
            filename:'app.html',
            inject:'body',
        })
    ],
    // webpack-dev-server的配置在这
    devServer:{
        static:'./dist'
    }
}

不但提高了开发效率,webpack的编译效率也提高了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值