我希望在运行构建时在ember应用程序中的两个文件夹之间移动一些文件,但我没有成功。
//ember-cli-build.js
module.exports = function (defaults) {
var app = new EmberApp(defaults, {
hinting: false,
minifyCSS: {
enabled: true
},
bless: {
enabled: true
}
});
var moveFile = new Funnel('./app/locales', {
srcDir: 'en',
files: ['test.js'],
destDir: 'en_US',
allowEmpty: true
});
return new MergeTrees([moveFile, app.toTree()]);
};
当我进行构建时,我没有错误,但文件也没有被移动。
更新:我试图在ember-cli put编译文件并将其放入dist文件夹之前移动文件
答案 0 :(得分:0)
您可以使用broccoli-static-compiler
https://github.com/joliss/broccoli-static-compiler
在brocfile.js(ember-cli-build.js)
中// at top of file
var pickFiles = require('broccoli-static-compiler');
var mergeTrees = require('broccoli-merge-trees');
// inside exporting function
const bootstrapMap = pickFiles('bower_components/bootstrap/dist/css/',
{
srcDir: '/',
files: ['bootstrap.css.map'],
destDir: '/assets'
});
// and so on, as many times as you need
const zeroClipboard = pickFiles('bower_components/zeroclipboard/dist/',
{
srcDir: '/',
files: ['ZeroClipboard.swf'],
destDir: '/assets'
});
// at the end
return mergeTrees([
app.toTree(),
bootstrapMap,
zeroClipboard,
// ...
], { overwrite: true });
答案 1 :(得分:0)
使用&broccoli build',您的应用程序将构建到目标文件夹中,因此西兰花是在现有文件夹结构中移动文件的错误工具。在这里,我假设它的运行类似于' broccoli build dist'在命令行上创建一个新文件夹' dist'使用构建的结果,如果目录已经存在则输出错误。
所以,让我们说你的项目目录如下:
<template ngFor #item [ngForOf]="Items | Search: Past" #isHeader="first" >
当你从.
|--brocfile.js
|--app/
|--locales/ <----- funnel root
|--en/ <----- srcDir
|--test.js <----- file
漏斗时,你的srcDir和files`是相对于root的。然后将输出树放入&#39; destDir&#39;在构建输出目录下。这将是这样的:
./app/locales
我认为您希望.
|--brocfile.js
|--app/ <----- not changed
|--dist/ <----- build output directory
|--en_US <----- destDir
|--test.js <----- file
为destDir
或locales/en_US
。