【问题标题】:How to use Handlebars.js in Angular 6+ CLI?如何在 Angular 6+ CLI 中使用 Handlebars.js?
【发布时间】:2023-03-26 00:15:01
【问题描述】:

我想以纯文本格式或 HTML 格式呈现基本的客户信函,以便客户可以在 TextArea 或 HTML 编辑器中进一步编辑。我正在考虑使用 Handlebars.js 来呈现带有小胡子标签的 HTML 模板以及包含各种业务信息的 JSON 对象。

我已经完成了:

import * as Handlebars from 'handlebars';

...
            const template = Handlebars.compile(this.exampleHtmlTemplate);
            this.note = template({ title: 'My title', body: 'My body' });

使用 Angular Cli 编译时,出现以下错误:

chunk {vendor} vendor.js, vendor.js.map (vendor) 7.84 MB [initial] [rendered]

WARNING in ./node_modules/handlebars/lib/index.js 22:38-56
require.extensions is not supported by webpack. Use a loader instead.

WARNING in ./node_modules/handlebars/lib/index.js 23:2-20
require.extensions is not supported by webpack. Use a loader instead.

WARNING in ./node_modules/handlebars/lib/index.js 24:2-20
require.extensions is not supported by webpack. Use a loader instead.

ERROR in ./node_modules/handlebars/lib/index.js
Module not found: Error: Can't resolve 'fs' in 'C:\...\NGSource\node_modules\handlebars\lib'

我正在使用 Angular 7.2.6 和 Angular CLI 7.3.3。如何使 Handlebars.js 与 Angular2+ 一起工作? 或者,是否可以使用一些低级 Angular API 将带有胡须的模板连同 JSON 数据一起渲染/编译成标准的 HTML/文本字符串?

【问题讨论】:

    标签: angular typescript handlebars.js angular-cli mustache


    【解决方案1】:

    您可以尝试使用不同的导入:

    import * as Handlebars from 'handlebars/dist/cjs/handlebars';
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多