私は、browserifyとes6を使用して、マリネットプロジェクトを設定しようとしています。 CollectionViewを作成するとき、私はエラーUncaught TypeError: Backbone.ChildViewContainer is not a constructor
を得ています。Backboneを取得する.ChildViewContainerは、browserify&es6を使用するコンストラクタではありません。
何かがロードされていませんか?これについてインターネット上で何も見つけられないようです。ここで
は私のコレクションビューです:
import {ItemView, CollectionView} from 'backbone.marionette';
import navTemplate from '../templates/navigation.hbs';
import navItemTemplate from '../templates/_navItem.hbs';
var NavigationItem = ItemView.extend({
template: navItemTemplate
});
var NavigationView = CollectionView.extend({
template: navTemplate,
childView: NavigationItem,
childViewContainer: '.left-navigation',
});
export default NavigationView;
し、それを
import {LayoutView} from 'backbone.marionette';
import layoutTemplate from './templates/layout.hbs';
import NavigationView from './Views/navigation';
export default class AppLayout extends LayoutView {
constructor(options) {
super(options);
this.template = layoutTemplate;
}
regions() {
return {
'navigation': '.left-aside'
};
}
onRender() {
console.log(this.getRegion('navigation'));
this.getRegion('navigation').show(new NavigationView());
}
}
を作成している私のレイアウト私もbackbone.radio使用するシムを使用していますが、それはこれに影響を与えるべきではありません。
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
define(['backbone.marionette', 'backbone.radio', 'underscore'], factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory(require('backbone.marionette'), require('backbone.radio'), require('underscore'));
} else {
factory(root.Backbone.Marionette, root.Backbone.Radio, root._);
}
}(this, function(Marionette, Radio, _) {
'use strict';
Marionette.Application.prototype._initChannel = function() {
this.channelName = _.result(this, 'channelName') || 'global';
this.channel = _.result(this, 'channel') || Radio.channel(this.channelName);
};
}));
編集:私のコンパイルされたファイルには多くのバックボーンのコピーが含まれているため、問題の可能性があります。
私は同じ問題を有するが、活字体とのWebPACKを使用しています - それは私はnpmパッケージを更新するまでうまくいった。私が見る限り、私はMarionette 2.4.5とBackbone 1.3.3 – user888734
^を使用しています。これらは私が持っているバージョンです。私はそれが私のコンパイルされたファイルに複数のバックボーン定義を持っているためだと思うが、バックボーンは1つしかない。ベビーシッター –
複数のバックボーン定義がある理由を知っていますか? – user888734