我有一个基于ember-cli的应用程序,需要集成到现有的java / JSP应用程序中。为此,我需要生成一个带有js / css指纹URL的JSP文件,这些URL由ember-cli / broccoli-asset-rev生成。
这对于html文件工作正常,我可以通过更改我的Brocfile.js来设置它使用JSP文件:
var app = new EmberApp({
outputPaths: {
app : {
html: 'index.jsp'
}
}
});
但这会阻止ember服务工作,因为它使用index.jsp作为html文件。是否有可能同时生成?
答案 0 :(得分:1)
在尝试了很多东西后,我提出了两种解决方案,两者都有缺点。第一个是使用制作一个新的西兰花树并将其与他的应用程序树合并然后明确地在生成的树上运行broccoli-asset-rev。这样做的缺点是胡子没有水分,这对于输出配置很有用。这看起来像是:
//Brocfile.js
var mergeTrees = require('broccoli-merge-trees');
var funnel = require('broccoli-funnel');
var assetRev = require('broccoli-asset-rev');
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var jspTree;
var app = new EmberApp({
fingerprint: {
enabled: false
},
storeConfigInMeta: false
});
jspTree = funnel('app', {
files: ['index.jsp']
});
module.exports = assetRev(mergeTrees([appTree = app.toTree(), jspTree]), {
extensions: ['js', 'css'],
replaceExtensions: ['jsp', 'html']
});

另一个解决方案是覆盖ember-cli中的私有api方法,该方法为索引构建树。这个解决方案确实让小胡子变得水润,但依赖于私人方法。您可以找到详细信息here和here
答案 1 :(得分:0)
添加符号链接怎么样?
ln -s index.jsp index.html
答案 2 :(得分:0)
根据您在项目中使用的构建工具,我可能会推荐以下内容:
你可能会考虑像gulp-replace这样的工作。