【发布时间】:2016-02-01 15:29:23
【问题描述】:
我对 ember-cli 和聚合物都很陌生,所以请耐心等待。
我的问题是我试图在我的 ember-cli 项目中使用 Polymer webcomponents,但是我无法找到适用于当前版本的 ember、ember-cli 和我拥有的聚合物(所有这些都是最新版本)。
我已经在 npm 上为 emebr-cli 尝试了 ember-polymer、ember-cli-polymer 和 ember-cli-polymer-toolchain 插件,但都没有奏效。下面是我包含在我的 brocfile.js 中的代码,我已经检查了我是否安装了正确的依赖项来硫化和合并我需要的文件。
是否有 ember 团队支持的官方插件,或者根本没有支持的方式来实现这一点。如果不能在我的项目中包含聚合物的 Web 组件,那将是一种耻辱。
提前感谢您的帮助。
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var pickFiles = require('broccoli-static-compiler');
var mergeTrees = require('broccoli-merge-trees');
var vulcanize = require('broccoli-vulcanize');
var app = new EmberApp();
var polymer = pickFiles('bower_components/', {
srcDir: '',
files: [
'polymer/polymer.html',
'polymer/polymer.js',
'webcomponentsjs/webcomponents.js'
],
destDir: '/assets'
});
var polymerVulcanize = vulcanize('app', {
input: 'elements.html',
output: 'assets/vulcanized.html',
csp: true,
inline: true,
strip: false,
excludes: {
imports: ["(^data:)|(^http[s]?:)|(^\/)"],
scripts: ["(^data:)|(^http[s]?:)|(^\/)"],
styles: ["(^data:)|(^http[s]?:)|(^\/)"]
}
});
module.exports = mergeTrees([
polymerVulcanize,
polymer,
app.toTree([polymerVulcanize])
]);
【问题讨论】:
-
我正在使用“ember”:“1.13.12”、“polymer”:“^1.2.4”和“webcomponentsjs”:“0.7.20”
-
您是否在 index.html 中添加了聚合物资产 - 例如
{{content-for 'head'}}<script src="assets/webcomponentsjs/webcomponents.js"></script><link rel="import" href="assets/vulcanized.html">? -
我建议不要尝试在 Ember 中使用聚合物,而是将针刺入您的眼睛。我认为这会更有趣。
-
@Knightsy 我确实添加了所有的依赖项,但似乎没有什么工作。在这一点上,我觉得 Polymer 和 Ember 都以不同的方式做同样的事情(唯一的主要区别是 Ember 数据)。所以在这一点上,我认为我真的需要决定哪一个更适合我目前的需求。
标签: ember.js polymer ember-cli polymer-1.0 ember-cli-addons