我正在尝试将我所有的javascript文件和js插件等编译成一个单独的javascript文件,然后将其包含在我的网站中。到目前为止,为了这个目的,我一直在和npm一起使用gulp,但是当我想要包含的库不能像那样工作时,我真的很挣扎。例如Google Maps API。那么,我该如何处理这类案件呢?我一直在四处询问,我听说没有办法“包含”一个javascript文件,就像你可以包含一个php文件一样,但这是最终答案吗?
我知道你可以在运行时使用jQuery包含其他文件,但这样你就不会避免额外的http调用,记住理想的情况是调用一个包含你需要的所有js代码的javascript文件。
即使我在javascript中使用require
,所需的文件也必须具有正确的格式,我必须将其分配给变量bla bla bla,但是当我包含这样的脚本<script type="text/javascript" src="myjsfile.js"></script>
时一切都包含在我的范围内。
我该如何解决这个问题?如果像gulp这样的javascript编译器复制了我所有javascript源文件的内容并将它们粘贴到一个合并的文件中,这是一个好习惯吗?这不会像调用所有这些文件一样工作吗?
好吧,我开始提出这个问题,因为我在谷歌地图api遇到了麻烦,但问题更为笼统,所以如果你能帮助我,请回答上述问题。无论如何在google maps api的情况下,当我像这样包含它时,我正在使用它完全没问题
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MYKEY&callback=Mycallback">
</script>
但是我如何将其合并到我包含库的缩小方式中呢?我尝试使用一些与google maps api集成的npm库(例如this),但我收到了CORS问题,我认为这是预期的行为。
提前致谢!对不起,如果听起来很蠢,我正在努力学习编码的好方法。
答案 0 :(得分:0)
体面的问题。
我不是专家,但有我的问题/答案:
async
属性允许同时加载html和脚本。如果地图是网站的主要功能,我会将<script>
放在加载html文件的顶部,因此并不总是将其放在<body>
的底部。