文件目录
    image.png
    index.js的代码

    1. import a from "./a"

    a.js 的代码

    1. export default function(){
    2. console.log("aaaa")
    3. }

    webpack.config.js 的配置代码为

    1. // 导入插件
    2. const fileListPlugins = require("./plugins/fileListPlugins")
    3. module.exports = {
    4. mode:"development",
    5. devtool:"source-map",
    6. plugins:[
    7. // 启用插件
    8. new fileListPlugins("fileList.md")
    9. ]
    10. }

    fileListPlugins .js 的代码(插件的代码)

    1. class fileListPlugins {
    2. // 给参数赋予默认值
    3. constructor(path = "fileList.txt"){
    4. this.path = path;
    5. }
    6. apply(compiler){
    7. //emit: 生成资源到 output 目录之前
    8. compiler.hooks.emit.tap("fileListPlugins",compilation=>{
    9. var arr = []
    10. // assets :资源 compilation.assets :获取生成最终文件的资源列表
    11. for (const key in compilation.assets) {
    12. var content = `【${key}】大小【${compilation.assets[key].size() /1000}KB】`
    13. arr.push(content)
    14. }
    15. // 将其数组转化为string
    16. var str = arr.join("\n\n")
    17. // 网资源列表里添加需要生成文件的信息
    18. compilation.assets[this.path] = {
    19. source(){
    20. return str;
    21. },
    22. size(){
    23. return str.length;
    24. }
    25. }
    26. })
    27. }
    28. }
    29. module.exports = fileListPlugins;

    运行后目录结构
    image.png
    生成fileList.md 里的信息
    image.png