Модульность Oro JavaScript не работает

к сожалению, мои пользовательские компоненты javascript oro не загружаются

мой reuiqrejs.yml здесь

Компания / Пакет / BarcodeBundle / Ресурсы / config / requirejs.yml

config:
    paths:
         'companybarcode/js/app/components/custom-component': 'bundles/companybarcode/js/app/components/custom-component.js'

Компания / Пакет / BarcodeBundle / Resources / public / js / app / components / custom-component.js

мой custom-component.js выглядит следующим образом

define(function (require) {
   'use strict';

   var CustomComponent = BaseComponent.extend({
       initialize: function (options) {
           alert("Hello Component");
       }
   })

    return CustomComponent;
});

мой взгляд на загрузку компонента

Компания / Пакет / BarcodeBundle / Resources / views / Barcode / test.html.twig

<div data-page-component-module="companybarcode/js/app/components/custom-component"></div>

Я не знаю что не так с кодом

Oro Ссылка: https://oroinc.com/orocrm/doc/2.3/cookbook/how-to-replace-inline-javascript-with-component.


person nifCody    schedule 17.05.2018    source источник
comment
Вы забыли определить базовый компонент. Вы можете сделать это как var BaseComponent = require('path/to/BaseComponent');   -  person Vladimir Kuzmin    schedule 11.01.2019


Ответы (1)


в вашем коде отсутствует их часть, чтобы использовать компонент, вы должны сначала его импортировать

define(['path/to/BaseComponent'], function (BaseComponent) {
   'use strict';

   var CustomComponent = BaseComponent.extend({
       initialize: function (options) {
           alert("Hello Component");
       }
   })

    return CustomComponent;
});

http://requirejs.org/docs/api.html#i18n

person Ranushka Goonesekere    schedule 17.05.2018