如何排除公用文件夹中的图像文件



public文件夹中,我有两个文件夹hksg,它们有不同的图像文件。
我想要的是,如果我构建hk包,我只从文件夹中复制hk图像。
如何在 ember-cli 中排除sg文件夹?

Ember 使用 Broccoli.js 作为构建管道。西兰花是围绕树木的概念建造的。有关详细信息,请查看其文档。

您可以使用称为西兰花漏斗的插件从树中排除文件。它需要一个输入节点,该节点可以是字符串形式的目录名称,也可以是作为第一个参数的现有西兰花树。应将配置对象作为第二个参数提供。应排除的文件或文件夹可以通过该对象上的exclude选项指定。

西兰花树是作为ember-cli-build.js构建过程的一部分创建的。从该文件导出的函数应返回树。默认情况下,它直接返回app.toTree()创建的树。但是您以前可以使用西兰花漏斗自定义该树。

此差异显示了如何自定义 Ember CLI 3.16.0 蓝图提供的默认ember-cli-build.js以排除特定文件:

diff --git a/ember-cli-build.js b/ember-cli-build.js
index d690a25..9d072b4 100644
--- a/ember-cli-build.js
+++ b/ember-cli-build.js
@@ -1,6 +1,7 @@
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
+const Funnel = require('broccoli-funnel');
module.exports = function(defaults) {
let app = new EmberApp(defaults, {
@@ -20,5 +21,7 @@ module.exports = function(defaults) {
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.
-  return app.toTree();
+  return new Funnel(app.toTree(), {
+    exclude: ['file-to-exclude'],
+  });
};

即使它可用作间接依赖项,也应显式将broccoli-funnel添加到依赖项中:

// if using npm
npm install -D broccoli-funnel
// if using yarn
yarn add -D broccoli-funnel

西兰花漏斗不仅支持确切的文件名,还支持正则表达式、glob 字符串或函数来定义要排除的文件。有关详细信息,请查看其文档。

最新更新