如何将一个函数从一个javascript模块重构到另一个.js文件,但哪个函数作用于基本对象?
我有一个JS模块,包含以下两项功能 我想提取一项功能,使其位于另一个文件中,但作用于基本对象。 我想重构以下内容,以便addIconLayer()移动到另一个.js文件,因为该函数实际上不是核心基本功能,而是一个可选组件。我无法计算出它的语法,主要是因为我不太熟悉这个javascript模块模式(尽管我熟悉其他语言中的类/方法等) 我想要这样的东西,并且已经尝试过(没有用): 但这和类似的东西不起作用如何将一个函数从一个javascript模块重构到另一个.js文件,但哪个函数作用于基本对象?,javascript,leaflet,Javascript,Leaflet,我有一个JS模块,包含以下两项功能 我想提取一项功能,使其位于另一个文件中,但作用于基本对象。 我想重构以下内容,以便addIconLayer()移动到另一个.js文件,因为该函数实际上不是核心基本功能,而是一个可选组件。我无法计算出它的语法,主要是因为我不太熟悉这个javascript模块模式(尽管我熟悉其他语言中的类/方法等) 我想要这样的东西,并且已经尝试过(没有用): 但这和类似的东西不起作用 我找不到任何类似扩展/重构的好例子。有人能告诉我正确的方法吗?如果您想/希望更精确地控制模块加
我找不到任何类似扩展/重构的好例子。有人能告诉我正确的方法吗?如果您想/希望更精确地控制模块加载,我会建议requireJS运行此程序时您会收到哪些具体错误?
<script src="basemodule.js"></script>
<script>basemodule.init('somevalue');</script>
var basemodule= (function ($) {
var map;
var icons;
return {
init(parameter1){
map = new L.map(...); // Loads leaflet.js
icons = getIconSet();
addIconLayer(parameter1);
},
getIconSet(){
icons = ...; // Assigns the icons
},
/* THIS IS THE FUNCTION I WANT TO MOVE TO A NEW CLASS - it still needs to act on map icons */
addIconLayer(parameter1){
map.doStuffToMap();
var foo = icons;
}
};
})(jQuery);
<script src="basemodule.js"></script>
<script>basemodule = basemodule.init();</script>
<script src="iconlayer.js"></script>
<script>iconlayer.init(basemodule, 'somevalue');</script>
// Class which enables an icon layer to be added
var iconlayer = (function ($) {
var map;
return {
init: function(mapinstance, parameter1) {
map = mapinstance.map;
map.doStuffToMap();
var foo = icons;
}
};
})(jQuery);