【问题标题】:Webpacker does not detect imported functions in file javascript/packs/application.jsWebpacker 未检测文件 javascript/packs/application.js 中的导入函数
【发布时间】:2018-07-11 00:19:18
【问题描述】:

我在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';

但是当我想在视图中使用init函数时

<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';

提前致谢。

【问题讨论】:

  • 这个问题你解决了吗?

标签: javascript ruby-on-rails webpack


【解决方案1】:

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

在添加 Webpacker 之前,此功能是通过按钮单击触发的(并且工作正常):

function validateFile(inputFile) {
  ..
}

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

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

它就像一个魅力!

希望对您有所帮助,如果没有 - 其他人 :)

【讨论】:

  • 这对我使用 Rails 6 有效!谢谢!
猜你喜欢
  • 2020-01-08
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 2021-12-22
  • 2021-04-27
  • 1970-01-01
相关资源
最近更新 更多