在 Ember CLI 项目中使用 Broccoli JS 移动整个文件夹
Move Entire Folder using Broccoli JS in 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);
有一个 npm 包叫 broccoli-file-mover ,使用方便,可以在 here
用法很简单,就这么简单:
moveFile(inputTree, options)
可用于移动文件(多个或单个)或整个文件夹
示例:
将单个文件从 app/main 移动到应用程序:
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 评论之前,西兰花漏斗是一个可能的解决方案,因为您可以将目录复制到任何您想要的地方(认为问题状态移动,但认为复制可能是一个可接受的解决方案),here 是插件的回购协议。
我正在开发一个 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);
有一个 npm 包叫 broccoli-file-mover ,使用方便,可以在 here
用法很简单,就这么简单:
moveFile(inputTree, options)
可用于移动文件(多个或单个)或整个文件夹
示例:
将单个文件从 app/main 移动到应用程序:
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 评论之前,西兰花漏斗是一个可能的解决方案,因为您可以将目录复制到任何您想要的地方(认为问题状态移动,但认为复制可能是一个可接受的解决方案),here 是插件的回购协议。