Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用webpack和html webpack插件输出许多html文件_Javascript_Html_Webpack_Templating - Fatal编程技术网

Javascript 使用webpack和html webpack插件输出许多html文件

Javascript 使用webpack和html webpack插件输出许多html文件,javascript,html,webpack,templating,Javascript,Html,Webpack,Templating,我正在使用webpack输出JS、SASS/CSS和HTML以及其他一些操作,包括babel 我还有一系列静态HTML文件,这些文件上也运行了一些操作。虽然大多数示例显示了如何输出一个、两个或三个HTML文件,但使用以下方法: new HtmlWebpackPlugin({ filename: 'html/index.html', template: 'html/index.html' }), new HtmlWebpackPlugin({

我正在使用webpack输出JS、SASS/CSS和HTML以及其他一些操作,包括babel

我还有一系列静态HTML文件,这些文件上也运行了一些操作。虽然大多数示例显示了如何输出一个、两个或三个HTML文件,但使用以下方法:

    new HtmlWebpackPlugin({
        filename: 'html/index.html',
        template: 'html/index.html'
    }),
    new HtmlWebpackPlugin({
        filename: 'html/about.html',
        template: 'html/about.html'
    }),
    new HtmlWebpackPlugin({
        filename: 'html/settings.html',
        template: 'html/settings.html'
    }),
如果我不能预测会有多少页呢?如果有40+呢?我怎样才能更好地处理这个问题

对webpack来说还是比较新的,但我有过吞咽和咕噜的经验。

尝试:

  • 查找具有所需扩展名的文件

  • 为每个对象创建新的HtmlWebpackPlugin对象配置

  • 要查找扩展名为的文件,我们可以使用用户Nicolas改编的函数:

    ...
    
    let findFilesInDir = require('./findFilesInDir.js')
    
    let templateFilesConf = findFilesInDir('src/html', '.html')
     .map((templateFileName) =>  
       new HtmlWebpackPlugin({
         filename: templateFileName,
         template: templateFileName
       })
    )
    
    let webpackConf = {
      entry: './path/to/my/entry/file.js',
      ...
      plugins : [...]
    }  
    
    webpackConf.plugins = webpackConf.plugins.concat(templateFilesConf)
    
    module.exports = webpackConf