繁体   English   中英

如何在余烬构建中排除组件

[英]How to exclude a component in ember build

简短说明:

如何排除所有component.hbscomponent.hbs.jsthis.route('component)中提到router.js有关,而烬构建一个组成部分。

详细说明:

认为您的ember应用程序中有一个组件,希望只在开发环境中可用 (现在不用担心这种方法的效果!! ),并且在进行生产时必须将其删除。

我已经尝试了一些ember-cli插件( broccoli-funnelember-cli-funnel ),该插件排除了component.hbs.js文件,但是我仍然可以在其中看到对component.hbsthis.route('component')的引用。 /dist文件夹中的已编译JS文件。

您有多种选择:

  1. 不排除文件或代码,而是使用ember-feature-flags插件禁用

很棒的插件: https : //github.com/kategengler/ember-feature-flags

  1. 从构建中排除文件

如pedro所述,您可以为此签出ember-composable-helpers 他们似乎剥离了index.js#treeForAddon的文件。 https://github.com/DockYard/ember-composable-helpers/blob/master/index.js#L28-L33

这也可能会有所帮助: 在emberjs中放置用于开发/测试的资产

  1. 从构建中排除代码

可能会更复杂...您可以查看Ember如何使用其功能标志(尽管我不确定他们是否使用defeatureifybabel-plugin-filter-imports )* Ember功能标志: https:// guides.emberjs.com/release/configuring-ember/feature-flags/

希望这可以帮助!

有两种可能的选项对您有帮助:

快速的方法是安装Ember-Cli-Tree-Shaker 在ember-cli-build.js文件中,您可以包括一个[exclude]文件路径数组,该文件路径始终要删除。 但是,这是一个实验性项目,请遵循网站上的所有免责声明。

从构建中剥离组件的一种较长但可能更稳定的方法是创建一个内部仓库插件,并在该插件的index.js文件中,过滤treeForAddon()treeForAddonTemplates()挂钩中的组件。 这是一个例子: https : //github.com/kaliber5/ember-bootstrap/blob/master/index.js#L282

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM