Webpacker在文件javascript/packs/application.js中未检测到导入的函数



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

提前谢谢。

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

在添加Webpacker之前,这个功能是由按钮的点击触发的(它运行得很好(:

function validateFile(inputFile) {
..
}

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

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

它就像一个符咒!

希望这对你有帮助,如果没有,那么其他人:(

最新更新