gpt4 book ai didi

javascript - 使用 Webpack 包含 HTML 部分

转载 作者:行者123 更新时间:2023-11-29 10:29:38 26 4
gpt4 key购买 nike

我正在创建一个 Webpack 样板来轻松创建 A-Frame 项目。我将 Webpack 配置为捆绑 JS 并包含 A-Frame 库。由于 A-Frame 严重依赖声明性 HTML,我想将实体作为 HTML 片段包含在内,这样我就不会得到一个巨大的 index.html 文件。

所以,我正在使用 HTML 加载器并尝试要求/导入其他 HTML 文件,但它们只是在 html 中显示为字符串。

Screenshot

Repository

如何将 HTML 部分包含在 html-loader 中? (或者另一种选择)

最佳答案

我使用 Nunjucks 并在我的 Webpack 中运行一个 watcher/builder。

var Nunjucks = require('nunjucks');
var webpack = require('webpack');

// Set up templating.
var nunjucks = Nunjucks.configure(path.resolve(__dirname, 'src'), {noCache: true});

// Initial Nunjucks render.
var html = nunjucks.render('index.html', getContext());

fs.writeFileSync('index.html', html);

// For development, watch HTML for changes to compile Nunjucks.
// The production Express server will handle Nunjucks by itself.
if (process.env.NODE_ENV !== 'production') {
fs.watch('src', {recursive: true}, (eventType, filename) => {
if (filename.indexOf('.html') === -1) {
return;
}
console.log(`${filename} updated.`);
try {
fs.writeFileSync('index.html', nunjucks.render('index.html', getContext()));
} catch (e) {
console.error(e);
}
});
}

// ...

我的树:

index.html  // Compiled HTML.
src/
index.html // Template/Nunjucks HTML.
templates/
somePartial.html

然后包括:

{% include "./templates/somePartial.html" %}

关于javascript - 使用 Webpack 包含 HTML 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49274062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com