首页 > 解决方案 > 删除 index.html 中为 ember 引擎创建的元标记

问题描述

我可以通过这个答案看到有关应用程序配置信息的元标记可以从存储在 index.html 中删除。

我需要为我的 ember 引擎做同样的事情。目前,这就是我的 index.html 的外观。它包含两个元标记:一个关于引擎的 environment.js,另一个关于 assets-manifest.json。

<meta name="inventory/config/environment" content="%7B%22modulePrefix%22%3A%22inventory%22%2C%22environment%22%3A%22development%22%7D" />
 <meta name="app/config/asset-manifest" content="%7B%22bundles%22%3A%7B%22inventory%22%3A%7B%22assets%22%3A%5B%5D%7D%7D%7D" />

标签: ember.jsconfigmeta-tagsember-engines

解决方案


我认为您最好的选择是创建一个 in-repo-addon,因为插件可以访问postprocessTree方法。不过,这将需要进入 Broccoli 构建并弄乱html输出,我不确定这会是什么样子。

ember g in-repo-addon remove-engine-config

//lib/remove-engine-config/index.js 
'use strict';

module.exports = {
  name: require('./package').name,

  postprocessTree(type, tree) {
    //console.log(type, tree)
    if (type === 'html') { //just guessing on html, it could have a different name
      //do some broccoli manipulation to target and remove the meta tag
      return fancyBroccoli(tree);
    }
  }
};

我建议您熟悉 VS Code,它是一款出色的调试器,因为它可以让您在进入该方法时检查它们,或者您可以只输入 aconsole.log(type, tree)并看看开始时会发生什么。

这是开始使用西兰花的好资源


推荐阅读