html - 如何使用 webpack 将原始静态 html 文件包含到另一个 html 文件中

标签 html webpack webpack-html-loader

我有一个 header.html 文件

<header>
  <nav>
    ... some code here ...
  </nav>
</header>

我也有一个 index.html 文件,我想在其中包含这个 header.html。

我的 index.html 看起来像这样:

<body>
  ${require('./header.html')}
  <div class="content">
    <!-- some content here -->
  </div>
  <div class="footer">
    <!-- some content here -->
  </div>
</body>

我正在使用这个 webpack.config.js:

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

module.exports = {
  entry: ['./src/js/index.js', ...],
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'js/index.js'
  },
  module: {
    rules: [
      {
        test: /\.html$/,
        use: ['html-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/main.html',
      filename: 'main.html'
    })
  ]
};

我试着像这样包含 header.html:

${require('./header.html')}

还有这个:

<%= require('./header.html') %>

试图用这一行导入 js/index.js 文件:

import header from 'html-loader!../header.html';

...结合这个:

${require('./header.html')}

还有这个:

${require(header)}

但没有任何效果。我只是将我的 ${require ...} 代码作为纯文本返回到 index.html 中,不包含任何内容。

知道如何包含 header.html 文件吗?

最佳答案

编辑:这个答案对于 html-loader > 0.5.5 不再有效

您需要像这样启用插值:

  module: {
    rules: [
      {
        test: /\.html$/,
        use: {
          loader: 'html-loader',
          options: {
            interpolate: true
          }
        }
      }
    ]
  },

我的答案来源,this question/answer .

关于html - 如何使用 webpack 将原始静态 html 文件包含到另一个 html 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51527619/

相关文章:

javascript - 如何用webpack生成多个html文件?

webpack - 如何使用 webpack 从 pug 模板输出 html 文件?

webpack - Webpack 配置中具有相同测试的多个规则会产生什么结果?

javascript - 如何删除 :checked pseudo-class using a controlled component in React?

html - 导航栏上的填充使其从页面溢出,带有边距/填充的内部容器也不起作用

javascript - Webpack 2 加载、公开和捆绑 jquery 和 bootstrap

webpack - html-webpack-plugin如何与html-loader一起使用?

javascript - 初始化动态创建的 btn 单选按钮组

html - 是否可以使用 MutationObserver 观察 HTML 元素的 offsetTop 属性

WebPack 4 意外字符 '@'