Javascript 如何使用网页包encore设置服务人员?
关于标题中的所有内容,我想知道如何使用网页包Encore设置我的服务人员 我试图在Javascript 如何使用网页包encore设置服务人员?,javascript,symfony,webpack,service-worker,webpack-encore,Javascript,Symfony,Webpack,Service Worker,Webpack Encore,关于标题中的所有内容,我想知道如何使用网页包Encore设置我的服务人员 我试图在webpack.config.js中使用.addEntry('sw','./assets/js/sw.js'),但是, 当navigator.serviceworner.register(“/build/sw.js”)在dev env中工作时, prod中编译的文件被重命名为/build/sw.8346cedc.js,这与调用不再匹配 我应该怎么做才能调用我的服务人员?您可以使用{{encore\u entry\u
webpack.config.js
中使用.addEntry('sw','./assets/js/sw.js')
,但是,当
navigator.serviceworner.register(“/build/sw.js”)
在dev env中工作时,prod中编译的文件被重命名为
/build/sw.8346cedc.js
,这与调用不再匹配
我应该怎么做才能调用我的服务人员?您可以使用
{{encore\u entry\u js\u files('sw')}
twig函数获取服务人员脚本路径
在html中创建一个全局变量,如下所示
<script>
var swPath = "{{ encore_entry_js_files('sw') | first }}";
</script>
var swPath=“{{encore_entry_js_files('sw')|first}}”;
如果你的webpack.config.js有
.splitEntryChunks()
函数,你仍然会遇到麻烦,因为runtime.js将被分离。啊,所以.splitEntryChunks()
是我的问题。。。谢谢,这很有帮助