首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack:在另一个部分中包括html部分吗?

Webpack:在另一个部分中包括html部分吗?
EN

Stack Overflow用户
提问于 2018-03-08 08:33:36
回答 2查看 3.7K关注 0票数 5

有没有办法将html部分包含在另一个使用webpack的部分中?我正在使用html-加载程序来执行此操作:

index.html

代码语言:javascript
复制
<%= require('html-loader!./partials/_header.html') %>

但是,当我试图在_header.html中包含另一个部分时,它无法呈现它。

这是行不通的:

_header.html

代码语言:javascript
复制
<%= require('html-loader!./partials/_nav.html') %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-09 19:43:31

我结合了一点,我找到了一个解决方案。

index.html

代码语言:javascript
复制
<%= require('html-loader?root=.&minimize=true&interpolate!./partials/_header.html') %>

然后在_header.html

代码语言:javascript
复制
${require('html-loader?root=.!../partials/_nav.html')}
票数 4
EN

Stack Overflow用户

发布于 2018-04-27 14:17:44

使用html-loaderinterpolate选项。

https://github.com/webpack-contrib/html-loader#interpolation

代码语言:javascript
复制
{ test: /\.(html)$/,
  include: path.join(__dirname, 'src/views'),
  use: {
    loader: 'html-loader',
    options: {
      interpolate: true
    }
  }
}

然后,在html页面中,可以导入partials、html和javascript变量。

代码语言:javascript
复制
<!-- Importing top <head> section -->
${require('./partials/top.html')}
<title>Home</title>
</head>
<body>
  <!-- Importing navbar -->
  ${require('./partials/nav.html')}
  <!-- Importing variable from javascript file -->
  <h1>${require('../js/html-variables.js').hello}</h1>
  <!-- Importing footer -->
  ${require('./partials/footer.html')}
</body>
</html>

html-variables.js看起来是这样的:

代码语言:javascript
复制
const hello = 'Hello!';
const bye = 'Bye!';

export {hello, bye}

您还可以使用${require('path/to/your/partial.html')以相同的方式在另一个部分中包含部分。

唯一的缺点是您无法从HtmlWebpackPlugin中导入其他变量,比如这个<%= htmlWebpackPlugin.options.title %> (至少我无法找到导入它们的方法),只需在html中写入标题,或者在需要时使用单独的javascript文件来处理变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49168671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档