webpack4使用html-webpack-plugin插件的使用

手动创建一些文件夹和文件

用命令初始化

cnpm init -y

安装该练习所用到的依赖

cnpm install webpack webpack-cli html-webpack-plugin -D

目录结构如下

webpack4使用html-webpack-plugin插件的使用
index.js

console.log("index在控制台打印")

print.js

console.log("print在控制台打印")

index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    </body>
</html>

package.json

{
  "name": "webpack4-plugin",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js",
    "start": "webpack-dev-server --open"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.39.2",
    "webpack-cli": "^3.3.6"
  }
}

webpack.config.js

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

module.exports = {
    entry:  {
        app: './src/index.js',
     print: './src/print.js'
    },
    output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, 'build')
    },
    devServer:{
        port:3000,
        contentBase:'./build',
        progress:true
    },
    mode:'development',
    
     plugins: [
            new HtmlWebpackPlugin({
                title: 'webpack4使用plugin',   // 生成的HTML文件的标题
                template: path.resolve(__dirname, 'index.html')  // 使用的模板路径
            })
        ]
    
}

如果用webpack-dev-server运行,则会自动打开浏览器,文件正常运行,但是并没有打包生成的文件。原因是webpack-dev-server主要调试用,生成的文件是在内存内,想要实际文件需要webpack编译才可以。

webpack4使用html-webpack-plugin插件的使用
webpack4使用html-webpack-plugin插件的使用

用webpack编译

webpack4使用html-webpack-plugin插件的使用
就打包生成了对应的文件夹及文件

build/index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    <script type="text/javascript" src="app.bundle.js"></script>
    <script type="text/javascript" src="print.bundle.js"></script>
    </body>
</html>

webpack4使用html-webpack-plugin插件的使用
手动打开打包生成build下的index.html控制台也能正常且完整的打印出来

个人网站:www.panbingwen.cn

相关推荐