Inject fingerprinted assetMap.json file into your app and provide initializer, service, and helper todynamically reference fingerprinted assets.
When to use this addon?
imagePath: computed(function() {
return this.get('assetMap').resolve(`${this.get('image')}.png`);
})
ember install ember-cli-ifa
Enable addon in environment.js
for specific environment.
module.exports = function(environment) {
var ENV = {
...
ifa: {
enabled: true,
inline: false,
}
...
};
In case you use s3 and manifest module for ember-cli-deploy, update their configurations in config/deploy.js
to include json
as a valid file.
module.exports = function(environment) {
var ENV = {
...
s3: {
filePattern: function(context, pluginHelper) {
let filePattern = pluginHelper.readConfigDefault('filePattern');
return filePattern.replace('}', ',json}');
},
...
},
manifest: {
filePattern: function(context, pluginHelper) {
let filePattern = pluginHelper.readConfigDefault('filePattern');
return filePattern.replace('}', ',json}');
},
...
},
...
};
Configure fingerprinting in ember-cli-build.js
. Refer to the documentation of ember-cli for asset-compilation
fingerprint: {
enabled: true, // set to true only in required environments
generateAssetMap: true,
fingerprintAssetMap: true
}
Note that if you use fastboot, this addon is automatically forced into inline: true
mode.This is necessary, as otherwise fastboot could not easily access that data.
If name
is tomster-under-construction
:
<img src={{asset-map (concat "assets/" name ".png")}} />
then it will generate something like assets/tomster-under-construction-da524c8bc9283f759ae640b68db81f24.png
based on assetMap.json.
import Component from 'ember-component';
import service from 'ember-service/inject';
export default Component.extend({
assetMap: service('asset-map'),
key: null, // key passed as 'tomster-under-construction'
// result will be assets/tomster-under-construction-da524c8bc9283f759ae640b68db81f24.png
image: computed('key', function() {
return this.get('assetMap').resolve(`assets/${this.get('key')}.png`);
})
});
If prepend
option is added in fingerprint configuration block, it will be prepended intogenerated asset path in the index.html.
// ember-cli-build.js
// ...
var app = new EmberApp(defaults, {
fingerprint: {
prepend: '/blog/'
}
});
/blog
will be prepended to the assetMap file path in the index.html.
If inline: true
is specified in the config, contents of assetMap file will be inline into index.html.
This might save one request to assetMap.json, but will increase overall size of index.html
file, so use carefully.
See the Contributing guide for details.
This project is licensed under the MIT License.
本文翻译自:Angular CLI SASS options I'm new to Angular and I'm coming from the Ember community. 我是Angular的新手,我来自Ember社区。 Trying to use the new Angular-CLI based off of Ember-CLI. 尝试使用基于Ember-CLI的新Angular-C
1 Zigbee应用程序框架开发指南 - 概述 2 Zigbee应用程序框架开发指南 - 应用程序框架结构 3 Zigbee应用程序框架开发指南 - 应用程序框架目录结构 4 Zigbee应用程序框架开发指南 - 生成应用程序配置文件 5 Zigbee应用程序框架开发指南 - 应用程序框架API 6 Zigbee应用程序框架开发指南 - 应用程序框架Callback接口 7 Zigbee应用程序框
Ember CLI 是一个 Ember.js 命令行工具,提供了由 broccoli 提供的快速的资源管道和项目结构。 Ember CLI 基于 Ember App Kit Project 目前已经废弃。 Assets Compilation Ember CLI asset compilation is based on broccoli. Broccoli has support for: Ha
This repository is no longer maintained. As a replacement check out: https://github.com/sir-dunxalot/ember-tooltips Ember CLI Tooltipster An Ember CLI add-on that wraps Tooltipster into an ember compo
ember-cli-updater This ember-cli addon helps you update your ember-cli application or addon. The idea of this addon is to automate some parts of the upgrade process so it's simplified. Not every chang
Ember-cli-yadda This Ember CLI addon facilitates writing BDD tests in the Gherkin language and executing them against your Ember app. @mschinis (Micheal Schinis) Did a great talk at @emberlondon BDD a
Ember-cli-simditor Ember component wrapper for simditor. Changes 0.0.7 Different from previous version, you must wrap content in object. See issue 6 for why. Getting Started Installation In your ember
ember-cli-chai Chai assertions for Ember.js. Deprecated This package is deprecated. Please use ember-auto-import to use chai and chai plugins directly. If you'd like to use chai, or were previously us