@commercetools-frontend/mc-html-template

中文文档
27.17.1发布于 2026/11/11MITESM + CJS构建来源已验证近 30 天下载 2.6万

为 MC 应用程序制作索引的所有相关内容

中文使用文档
文档目录7 节
  1. 安装
  2. API 密码
  3. generateTemplate
  4. replaceHtmlPlaceholders
  5. compileHtml
  6. processHeaders
  7. 邦德勒入境点

@ commercialtools-frontend/mc-html- template

Latest release (latest dist-tag) Latest release (next dist-tag) Minified + GZipped size GitHub license

此软件包包含 utils 和脚本 index.html 为商贸中心的定制.

安装

$ npm install --save @commercetools-frontend/mc-html-template

API 密码

generateTemplate

这种方法将返回模板 HTML 文档,同时提供注入的 CSS/JS 脚本.

注意到 HTML 文档仍将有 占位符 (见 replaceHtmlPlaceholders(中文(简体) )

type TGenerateTemplateOptions = {
  cssImports?: string[];
  scriptImports?: string[];
};

function generateTemplate({
  cssImports = [],
  scriptImports = [],
}: TGenerateTemplateOptions);

replaceHtmlPlaceholders

这种方法将取代 占位符 在 HTML 文档中根据应用程序配置定义.

这种方法应作为最后步骤,以便充分汇编 index.html。 。 。 .

目前,我们界定了以下占位符:

  • __CDN_URL__页:1 cdnUrl 应用程序配置中定义的值
  • __MC_API_URL__页:1 mcApiUrl 应用程序配置中定义的值
  • __LOADING_SCREEN_CSS__: (中文(简体) )内部定义用于加载动画的CSS,以防页面加载需要更长的时间
  • __LOADING_SCREEN_JS__: (中文(简体) )内部定义(JS为加载动画,以防页面需要更长时间加载)
  • __APP_ENVIRONMENT__: 在全球变量中提供的已消毒的应用程序配置环境 window.app
  • __CSP__: 生成 Content-Security-Policy 指令,定义为 HTML 元标记
type TReplaceHtmlPlaceholdersOptions = {
  env: ApplicationRuntimeConfig['env'];
  headers: Record<string, string | undefined>;
};

function replaceHtmlPlaceholders(
  indexHtmlContent: string,
  options: TReplaceHtmlPlaceholdersOptions
): string;

compileHtml

这种方法将汇编模板HTML文档.

type TCompileHtmlResult = {
  env: ApplicationRuntimeConfig['env'];
  headers: Record<string, string | undefined>;
  indexHtmlContent: string;
};

async function compileHtml(
  indexHtmlTemplatePath: string
): Promise<TCompileHtmlResult>;

processHeaders

这种方法将返回用于服务器响应的安全信头,服务于 index.html。 。 。 .

这个 applicationConfig.env 将被注入到 window.app。 。 。 . 这个 applicationConfig.headers 是用户提供的已处理的应用程序头.

返回值 processHeaders 函数包含以下可随时使用的 HTTP 头:

{
  "Strict-Transport-Security": "max-age=31536000",
  "X-XSS-Protection": "1; mode=block",
  "X-Content-Type-Options": "nosniff",
  "X-Frame-Options": "SAMEORIGIN",
  "Content-Security-Policy": "...",
  "Feature-Policies": "..."
}
function processHeaders(
  applicationConfig: ApplicationRuntimeConfig
): Record<string, string | undefined>;

邦德勒入境点

包会暴露出特定捆绑者用来使用HTML模板的一些特殊切入点.

网络软件包

如果你使用Webpack 和 HtmlWebpackPlugin你可以通过 webpack 将 Webpack 模板参数映射到我们通用的 generateTemplate 方法.

new HtmlWebpackPlugin({
  template: require.resolve(
    '@commercetools-frontend/mc-html-template/webpack'
  ),
  // ...
}),

版本与发布记录

@commercetools-frontend/mc-html-template 共发布 1,738 个版本,首次发布于 2018/08/15;过去 12 个月发布了 203 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
27.17.1latest2026/11/11今天
0.0.0-canary-202611101453512026/11/10今天
0.0.0-canary-202611061943342026/11/073 天前
0.0.0-canary-202611060848452026/11/064 天前
0.0.0-canary-202611060847432026/11/064 天前
27.17.02026/11/046 天前

其他发布通道:rc → 21.0.0-rc.7,preview → 22.36.0-preview.0,FEC-157-preview-releases → 0.0.0-FEC-157-preview-releases-20241126231507,testing-workflow → 0.0.0-testing-workflow-20241126234621,testing-comment-workflow → 0.0.0-testing-comment-workflow-20241204141931,rc-preview-demo-cm → 0.0.0-rc-preview-demo-cm-20250130161121。

关于 @commercetools-frontend/mc-html-template 的常见问题

@commercetools-frontend/mc-html-template 是什么?

为 MC 应用程序制作索引的所有相关内容

如何安装 @commercetools-frontend/mc-html-template?

在项目目录运行 npm install @commercetools-frontend/mc-html-template,或使用 pnpm add / yarn add / bun add。

@commercetools-frontend/mc-html-template 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/commercetools-frontend__mc-html-template 是否存在。

@commercetools-frontend/mc-html-template 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@commercetools-frontend/mc-html-template 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.23.4 || ^24.22.1 || >=26.12.1。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@commercetools-frontend/mc-html-template 可以商用吗?

@commercetools-frontend/mc-html-template 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@commercetools-frontend/mc-html-template 的下载量有多少?

根据 npm 官方下载统计,@commercetools-frontend/mc-html-template 在 2026/10/11 – 2026/11/09 这 30 天内被下载 26,168 次,日均约 872 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@commercetools-frontend/mc-html-template 还在维护吗?

最新版本 27.17.1 发布于 2026/11/11(今天);至今共发布 1738 个版本,其中过去 12 个月发布了 203 个;首次发布于 2018/08/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。