如何使用webpacker使JavaScript函数可在Rails 6项目中的页面上使用?
[在Rails项目中,我正在尝试从使用旧的Sprockets资产管道切换为使用webpacker。我已经设置了这些测试文件:
应用/ JavaScript的/ LIB / foo.js
function foo() {
console.log('foo')
}
console.log('bar')
应用/ JavaScript的/包/的application.js
// some standard Rails JS requires
// ...
require('lib/foo')
应用/视图/测试/ index.html中
<script>
foo()
</script>
并且在我的[[layouts / application.html.erb中,我有]]<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
当我在浏览器中转到该页面时,看到“栏”记录到控制台,然后是
“ ReferenceError:未定义foo”
我尝试了几种不同的方法来设置文件,例如使用import而不是require或在js文件中设置module.exports = foo
或export default foo
,但是遇到上述错误消息并没有任何运气。
因此,我如何将JavaScript文件从链轮移动到webpacker?如果可能的话,如何在不更改现有JavaScript代码的情况下做到这一点?
[在Rails项目中,我正在尝试从使用旧的Sprockets资产管道切换为使用webpacker。我已经设置了以下测试文件:app / javascript / lib / foo.js函数foo(){console.log('foo')...
回答如下:如果js文件与使用管道的先前应用程序中的文件位于同一位置,则您仍然可以使用旧的js标签将其包括在内。