当前位置:  开发笔记 > 前端 > 正文

将Elm运行时提取到单独的块中

如何解决《将Elm运行时提取到单独的块中》经验,为你挑选了1个好方法。

编译Elm文件时,Elm运行时将被提取到同一文件中.我们app.js从现在开始调用此文件.即使更改了一个字节app.js,哈希值也会发生变化,导致客户端重新下载文件,即使只更改了一个字节.有没有办法将Elm运行时提取到一个单独的vendor(或commons)块中?



1> Rudolf Olah..:

在Elm 0.18和之前的版本中,Elm的核心包含在每个捆绑包中.

这可能效率低下,例如,如果您在多个页面上加载不同的Elm组件.每个页面都需要生成自己的包,但每个包中都包含Elm核心.

解决方法(未经测试!)

    将您的Elm代码编译成一个包, output.js

    打开output.js并从文件的开头一直到最后一个var看起来像这样的声明:

    var _elm_lang$html$Html_Events$Options = F2(
    

    _elm_lang您开始的最后一个变量声明下面应该看到编写的模块的代码.这就是分离开始的地方.

    将整个块复制并粘贴到单独的文件中并命名 elm-core.js

    田田!您现在应该能够在HTML文件中加载它们:

     
     
     
     
    

谨防!整个输出包被包装在IIFE(立即调用的函数表达式)中,因此您必须将其中的所有块包装起来以确保它正常工作.如果不这样,您将收到"F2未定义"和"A2未定义"等错误.

榆树0.19+

在Elm的未来版本中,应该有一个更好的解决方案来解决这个问题.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有