Как отправить модуль на импортированный ES6 Classe вне контроллера - PullRequest
0 голосов
/ 19 марта 2019

Здравствуйте, я использую веб-пакет на Symfony. Я импортировал некоторые классы ES6, используя module.exports, например:

module.exports = class Exemple{
 constructor(arg1)
}

Мне нужно использовать модуль, который я определил ранее, для вызова require, включая мой класс в этом классе, без вызова модуля в контроллере. это было бы что-то вроде этого:

Template.js


Module.exports = class Template{
Routing.generate(****)
}

index.js


import Routing from '../../../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';
Routing.setRoutingData(routes);
require('../templateManager.js'),(Routing)

;

Как я могу передать Routing моему классу, чтобы использовать его без использования Controller

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Спасибо за ваш ответ, Джои. С твоим get я получаю следующую ошибку:

экспорт 'default' не найден в '.wb / wb_template.js'

вот мой код:

wb_template.js


 import Routing from '../../../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';
Routing.setRoutingData(routes);
module.exports = Routing;

Template.js


Из класса:

import Routing from './wb/wb_template.js';

... в класс:

Routing.generate('my_route');
0 голосов
/ 19 марта 2019

Node.js будет экспортировать переменную только один раз. Таким образом, вы можете что-то инициализировать, а затем экспортировать. И вы получите одинаковое значение везде. Например, вы можете настроить экземпляр Routing, затем экспортировать его и использовать в другом месте.

// routing.js
import Routing from '<snip>/router.min.js';

Routing.setRoutingData(routes);
export default Routing;

// Elsewhere
import Routing from './routing';
// Routing is now your pre-initialised instance of Routing

class Template {
    Routing.generate(****)
}

export default Template;
...