你好,我在symfony上使用webpack。 我已经使用module.exports这样导入了一些ES6类:
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)
;
如何在不使用Controller的情况下将路由传递给我的班级以使用它
答案 0 :(得分:0)
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;
答案 1 :(得分:0)
谢谢您的回答乔伊。有了您,我得到以下错误:
在.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');