multi entry (aka dual brand) - without context.add or context.load - method 2
/**
* @file src/component.js
*/
import FooView from `./views/common/foo.js`;
const fooView = new FooView({ el: '#wrapper' });
fooView.func1(); // outputs "common"
fooView.func2(); // outputs "not common"
fooView.func3(); // outputs "bar"
/**
* @file src/views/common/foo.js
*/
import * as FooUtil from `../utils/${process.env.ENTRY_POINT}/foo-util.js`;
import template from `../templates/${process.env.ENTRY_POINT}/foo.hbs`; // entry-specific HTML overrides
import '../scss/common/foo.scss'; // common css
import `../scss/${process.env.ENTRY_POINT}/foo.scss`; // entry-specific css overrides
const CommonFooView = Backbone.View.extend({
template,
type: 'common',
func1() {
console.log('common');
},
func2() {
console.log(this.type);
},
});
_.extend(FooView.prototype, FooUtil);
export default FooView;
/**
* @file src/utils/entry-1/foo-util.js
*/
const type = 'not common';
const func3 = () => {
console.log('bar');
}
export { type, func3 };