0

我有一个库,其中包含一些静态资产——PNG、SVG、WOFF——和一个 Sass 文件。图书馆看起来像

- sass/
  - my-library/
    - all.scss
- images/
  - my-libarary/
    - logo.png

我想增强这个项目,使其与使用 ember-cli 的 Ember 应用程序一起工作。目标是让主机应用程序最终得到

- dist/
  - assets/
    - my-library/
      - all.css
      - logo.png

这是我尝试过的:

treeFor: function(type) {
  if (type !== 'styles') { return; }
  var sass = require('broccoli-sass');
  var mergeTrees = require('broccoli-merge-trees');
  var funnel = require('broccoli-funnel');

  var asCss = sass(
    [ path.join(absolutePathToMyLibrary, 'sass') ],
    'my-library/all.scss',
    'my-library/all.css'
  ];

  // Hoping to compile sass/my-library/all.scss to assets/my-library/all.css
  var css = funnel(asCss, {
    files: [ 'my-library/all.scss' ],
    destDir: 'assets'
  });

  // Hoping to copy images/my-library/* to assets/my-library/*
  var images = funnel(path.join(absolutePathToMyLibrary, 'images'), {
    destDir: 'assets'
  });

  return mergeTrees(css, images);
}

但我明白了

ENOENT, no such file or directory '/Users/me/Code/my-app/tmp/tree_merger-tmp_dest_dir-0WdzK7Cd.tmp/my-library/'

当我跑步时ember build

4

1 回答 1

0

答案很简单:我想要treeFor('public'),不是treeFor('styles')。前者将任意资产添加到构建中。后者特定于处理app/styles.

于 2015-07-16T20:53:05.727 回答