余烬cli多个索引文件



我有一个基于ember-cli的应用程序,需要集成到现有的java/JSP应用程序中。为此,我需要生成一个JSP文件,其中包含由ember-cli/broccoli-asset-rev生成的js/css指纹url。

这是一个工作良好的html文件,我可以设置它使用JSP文件通过改变我的brofile .js包括:

var app = new EmberApp({
  outputPaths: {
    app : {
      html: 'index.jsp'
    }
  }
});

,但是这会阻止ember服务工作,因为它使用index.jsp作为HTML文件。有可能同时产生这两种情况吗?

在尝试了很多东西之后,我提出了两种解决方案,两者都有缺点。第一种方法是创建一个新的西兰花树,并将其与应用树合并,然后在生成的树上显式运行西兰花-资产-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方法,该方法为索引构建树。这种解决方案确实可以让胡须得到水分,但依赖于一种私人方法。你可以在这里和这里找到详细信息

添加符号链接如何?

ln -s index.jsp index.html

根据您在项目中使用的构建工具,我可能会推荐以下内容:

  1. 在你的index.html中添加一些占位符部分。
  2. 将index.jsp复制到index.jsp.tmp.
  3. 将index.jsp中的代码复制到您的占位符部分。
  4. 将index.jsp.tmp移回index.jsp并清理。

您可以考虑使用类似于gulp-replace的工具来完成这项工作。

相关内容

  • 没有找到相关文章