У меня есть этот маршрут подкастов. Крючок модели вызывает getJSON для URL-адреса в другом домене. Когда я строю для производства, уголек-кли, кажется, считает это актив и отпечатки пальцев его следующим образом:ember cli построить отпечаток пальца внешнего URL?
http://datafruits.streampusher.com/podcasts/datafruits-d31215e1fe906877c93d6ac2208c8da2.json
Я пытался добавить его свойству исключения в опции отпечатков пальцев в уголек-CLI-build.js , но я, похоже, получаю тот же результат. Я также попробовал полный URL.
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
// Add options here
fingerprint: {
exclude: ['datafruits.json']
}
});
Да, мое приложение называется «datafruits», если это имеет какое-либо отношение к нему. Вот вышеупомянутый подкастов маршрут:
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
willTransition: function(transition) {
Ember.$("#podcastsModal").modal('hide');
}
},
setupController: function(controller, model){
this._super(controller, model);
Ember.run.schedule('afterRender', this, function() {
Ember.$("#podcastsModal").modal('show');
var _this = this;
Ember.$("#podcastsModal").on('hidden.bs.modal', function() {
console.log("modal exited");
_this.transitionTo('application');
});
});
},
model: function(){
return Ember.$.getJSON('http://datafruits.streampusher.com/podcasts/datafruits.json')
.then(function(data){
return data.podcast;
});
}
Остальные мои Ember-кли-build.js:
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var ES6Modules = require('broccoli-es6modules');
var esTranspiler = require('broccoli-babel-transpiler');
var mergeTrees = require('broccoli-merge-trees');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
// Add options here
fingerprint: {
//prepend: "//datafruitstest.s3-website-us-east-1.amazonaws.com/",
exclude: ['datafruits.json']
}
});
// Use `app.import` to add additional libraries to the generated
// output files.
//
// If you need to use different assets in different
// environments, specify an object as the first parameter. That
// object's keys should be the environment name and the values
// should be the asset to use in that environment.
//
// If the library that you are including contains AMD or ES6
// modules that you would like to import into your application
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.
app.import(app.bowerDirectory + '/bootstrap/dist/js/bootstrap.js');
app.import(app.bowerDirectory + '/bootstrap/dist/css/bootstrap.css');
app.import(app.bowerDirectory + '/moment/moment.js');
app.import(app.bowerDirectory + '/fullcalendar/dist/fullcalendar.css');
app.import(app.bowerDirectory + '/fullcalendar/dist/fullcalendar.js');
app.import(app.bowerDirectory + '/jplayer/dist/jplayer/jquery.jplayer.js');
app.import(app.bowerDirectory + '/jsTimezoneDetect/jstz.min.js');
app.import(app.bowerDirectory + '/emojione/assets/css/emojione.css');
app.import(app.bowerDirectory + '/emojione/lib/js/emojione.js');
app.import(app.bowerDirectory + '/autolink/autolink.js');
var phoenixTree = "./vendor/phoenix";
var phoenixAmdFiles = new ES6Modules(phoenixTree, {
format: 'amd',
esperantoOptions: {
strict: true,
amdName: "phoenix"
}
});
var phoenixTranspiledFiles = esTranspiler(phoenixAmdFiles, {});
return mergeTrees([app.toTree(), phoenixTranspiledFiles]);
};
Это делает работу, но теперь мое приложение JS не сняли отпечатки пальцев, потому что мое приложение называется «datafruits». :( – freedrull
[Глядя на свои тесты] (https://github.com/rickharrison/broccoli-asset-rev/blob/master/tests/filter-tests.js#L94), это может быть ошибка. сообщите, по крайней мере, о том, действительно ли это что-то не работает с lib. – trabus
Так что, смотря дальше, я считаю, что это проблема с ['broccoli-asset-rewrite'] (https://github.com/rickharrison/broccoli- активация-переписывание), где он не учитывает тот факт, что файл не является тем же, что и приложение JS (которое должно быть отпечатано на нем). По-видимому, он не учитывает полный путь к файлу при переименовании путей – trabus