gpt4 book ai didi

javascript - partials 中包含的脚本在 ejs 中无法按预期工作

转载 作者:行者123 更新时间:2023-11-29 23:47:56 24 4
gpt4 key购买 nike

我在我的网站上使用 lodash,它现在告诉我 uniqBy 不是一个函数。我想这可能是因为我使用了旧版本的库,所以我更新了它但仍然遇到同样的问题。我确实通过 ejs 将其带入 html <%- include %>但是当使用像 ejs lodash 这样的东西时,它不会按预期工作。我尝试使用 _.uniqBy对数组进行排序,但除非我专门将 lodash 脚本插入到 html 中,否则它将无法工作。

<%- include ../partials/scripts.ejs%>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs/dt-1.10.12/datatables.min.js"></script>
<script type="text/javascript" src="/js/accounting/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="/js/accounting/jszip.min.js"></script>
<script type="text/javascript" src="/js/accounting/pdfmake.min.js"></script>
<script type="text/javascript" src="/js/accounting/vfs_fonts.js"></script>
<script type="text/javascript" src="/js/accounting/buttons.html5.min.js"></script>
<!-- <script type="text/javascript" src="/js/lodash.js"></script> Works with this -->
<script type="text/javascript">
// Returns undefined unless the lodash script tag is uncommented
console.log(_.uniqBy);
</script>
<script type="text/javascript" src="/js/cost/list.js">//Lodash used in here</script>
<%- include ../partials/footer.ejs%>

脚本部分是:

<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/js/bootstrap-formhelpers.min.js"></script>
<script type="text/javascript" src="/js/select2.min.js"></script>
<script type="text/javascript" src="/js/moment.min.js"></script>
<script type="text/javascript" src="/js/lodash.js"></script>
<script type="text/javascript" src="/js/jquery.cookiebar.js"></script>
<script type="text/javascript" src="/js/slide.js"></script>
<script type="text/javascript" src="/js/email.js"></script>
<script type="text/javascript" src="/js/jspdf.js"></script>

在我的 cost/list.js 中,我将 jquery 与 document.ready() 结合使用在我使用 lodash 之前,我的问题是为什么会这样?我想也许首先是范围问题,但事实并非如此,因为我到处都使用这些文件并且以前从未遇到过这个问题。然后我想这可能是加载,因为包含部分的 ejs 可以在页面准备好之前或之后加载,但我的 js cost/list.js 应该等待它准备好,因为 $(document).ready() .我不确定问题是什么,关于 ejs 所发生的事情的任何想法都会很棒。

最佳答案

再浏览一下页面,发现它的 pdfmake 也使用 lodash 但他们使用旧版本 (3.x) 而今天我在 (4.17.4) 这就是为什么 pdfmakes lodash 排在最后它优先并且成为全局。希望这会在将来帮助某人。检查你的脚本,我一个一个地检查它们,在每个其他脚本之后移动我的 lodash 脚本,然后找到它

关于javascript - partials 中包含的脚本在 ejs 中无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43469621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com