为什么找不到生成未捕获引用错误的现有JavaScript函数

为什么找不到生成未捕获引用错误的现有JavaScript函数,javascript,ruby-on-rails,leaflet,webpacker,Javascript,Ruby On Rails,Leaflet,Webpacker,错误: readyException.js:6 Uncaught ReferenceError: editMap is not defined at HTMLDocument.<anonymous> (edit:190) at mightThrow (deferred.js:97) at process (deferred.js:139) Chrome来源的application.js中的一些相关行 函数编辑图(popupText){ if(laMap!=未

错误:

readyException.js:6 Uncaught ReferenceError: editMap is not defined
    at HTMLDocument.<anonymous> (edit:190)
    at mightThrow (deferred.js:97)
    at process (deferred.js:139)
Chrome来源的
application.js
中的一些相关行

函数编辑图(popupText){
if(laMap!=未定义){
laMap.remove();
}
showMap(弹出文本)
var drawnItems=新的L.FeatureGroup();

正在尝试将应用程序移动到Rails 6和Webpack。

Webpack不会将您的JavaScript公开到全局范围;每个文件都被视为一个模块,实际上,它是一个具有自己范围的函数。要公开对全局范围的特定引用,可以将其分配到
窗口
对象,例如
window.editMap=editMap
,从模块内部声明。

是否在外部函数(如
$(文档).ready(函数())中声明{..
?据我所知不是这样。我查看了所有Rails渲染,以确保我没有在其他地方包含任何内容。我再次查看了正在使用的主.js文件。如果我将整个.js文件放在Rails文件中,并通过渲染加载它,页面works@charlietfl我知道这样的事情正在发生,但它在应用程序中。js文件。有没有办法检查函数的范围?我认为这更像是一个网页问题,而不是RailsThank。也许有一天我会更好地理解JavaScript。
  <div id="map"></div>
  <script>
    var popupText = "&ge;1908<br>Benefit  St<br>&le;1908<br>Fountain Ave";
    $(document).ready(function() {
       editMap(popupText);
    });    
  </script>