簡體   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