Webpacker不会在文件javascript / packs / application.js

时间:2018-07-11 00:19:19

标签: javascript ruby-on-rails webpack

我在文件dashboard.js中具有此功能

var Dashboard = function(){

 return {
   init: function(){
     console.log("Hi from Dashboard with webpacker")
   }
 }
}();

使用webpacker,我以此方式导入文件javascript / packs / application.js

import '../src/api/dashboard.js';

但是当我想以此方式在视图中使用初始化函数时

<script type="text/javascript">
  $(document).ready(function() {
    Dashboard.init();
  });
</script>

我得到了错误

 (index):861 Uncaught ReferenceError: Dashboard is not defined
  at HTMLDocument.<anonymous> ((index):861)

我不确定自己在做什么错,我也尝试过导入文件

import Dashboard from '../src/api/dashboard.js';

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我知道您在5个月前就问过这个问题,而且我还不是JS专家,所以这可能不是最佳(也不是最干净)的解决方案。但是无论如何,我遇到了同样的问题,这就是我的应对方法。

在添加Webpacker之前,此功能是通过单击按钮触发的(并且效果很好):

function validateFile(inputFile) {
  ..
}

但是添加Webpacker之后,我和您一样得到了Uncaught ReferenceError。现在看起来像这样:

window.validateFile = function(inputFile) {
  ..
}

它就像一种魅力!

希望能对您有所帮助,否则-有人:)