我正在开发一个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移动到app:
var moveFile = require('broccoli-file-mover'); var tree = moveFile('app',{ srcFile: 'app/main.js',destFile: '/app.js' });
将app / main移动到app和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是插件的回购.