Переместить всю папку с помощью Broccoli JS в Ember CLI Project

Я разрабатываю ember-cli проект и работаю над системой, которая позволяет мне разрешать незагруженные шаблоны, которые, возможно, находятся вне структуры проекта.

Я хотел бы, чтобы в моем dist/assets каталоге была папка с именем templates, и внутри этой папки были бы все предварительно скомпилированные шаблоны из app/templates/external. Это моя текущая Brocfile.js попытка с тушеным мясом брокколи.

var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var stew = require("broccoli-stew");

var app = new EmberApp({
  vendorFiles: {
    "jquery.js": null
  },
  sassOptions: {
      includePaths: [
        'bower_components/bourbon/app/assets/stylesheets/',
        'bower_components/neat/app/assets/stylesheets/',
        'bower_components/bitters/app/assets/stylesheets/'
      ]
    }
});

var additionalTrees = [];

var templateFiles = stew.find(appTree, "assets/app/templates/external");
templateFiles = stew.mv(templateFiles, "assets/app/templates/external", "assets/templates");
additionalTrees.push(templateFiles);

module.exports = app.toTree(additionalTrees);

person BillPull    schedule 17.06.2015    source источник
comment
Это может помочь вам скопировать файлы. stackoverflow.com/a/30464235/548568   -  person blessenm    schedule 18.06.2015


Ответы (1)


Существует простой в использовании пакет npm под названием broccoli-file-mover, который можно найти здесь

Использовать очень просто, так же просто, как:

moveFile (inputTree, параметры)

может использоваться для перемещения файлов (нескольких или отдельных) или целых папок

Пример:

Перемещение одного файла из приложения / основного файла в приложение:

var moveFile = require('broccoli-file-mover');

var tree = moveFile('app', {
  srcFile: 'app/main.js',
  destFile: '/app.js'
});

Перемещение app / main в приложение и test / main для тестирования:

var moveFile = require('broccoli-file-mover');

var tree = moveFile('app', {
  files: {
    'app/main.js': 'app.js',
    'test/main.js': 'test.js'
  }
});

Также, возможное решение - воронка брокколи перед комментарием blessnm, поскольку вы можете скопировать свой каталог в любое место (думал, что вопрос перемещается, но подумал, что копирование может быть приемлемым решением), здесь - это репозиторий плагина.

person ProllyGeek    schedule 30.06.2015