为什么JavaScript不包含include,require或import函数?

问题描述:

与分离HTML,每最佳的编码方法PHP和JavaScript的概念坚持,我发现它相当不方便包括像这样我的JavaScript文件:<script src="../../lib/javascript/jquery.min.js"></script>为什么JavaScript不包含include,require或import函数?

的原因是,我重构一个大项目目前这并不容易维持。这部分包括分离大量伸到更易于管理的块:

enter image description here

这里是关注的主要文件夹:

enter image description here

长话短说,我有困难,搞清楚如何包括和排序嵌套我的JavaScript,以类似于PHP导入例如。例如,我的登录页面使用users.js来运行一个函数来检查用户凭证; users.js使用alerts.js来显示任何问题。问题是,目前,我只知道如何将其纳入,并使用HTML所有这些文件链接在一起的登录页面,如下所示:

<script src="../../lib/javascript/jquery.min.js"></script> 
<script src="../../lib_bh/javascript/alerts.js"></script> 
<script src="../../lib_bh/javascript/users.js"></script> 

但这似乎并不正确,因为警报仅用于用户。 js在这个页面上运行,而不是页面本身。我可以在user.js中使用上面的脚本标记来解决这个问题,但随后我将打算成为js库的内容转换为html文件,而这看起来并不正确。我一直在看ES6的语法,它看起来很有前途,但没有太多关于它的讨论,所以我很担心(并且困惑)如何使用它。基本上,我如何嵌套我的JavaScript,以便我可以分离不同类型的函数和代码,以动态方式在我的所有页面中使用。哎呀,我宁愿包括jquery,而不是使用脚本标签太...阅读有关这样做会引起关注(https://github.com/DefinitelyTyped/DefinitelyTyped/issues/6315),所以我觉得我在砖墙上。谢谢。

+0

使用文件的完整路径。 – guest271314

+0

好的建议。困难的部分是确定要引用的主父目录。这是服务器的GUI,因此主机名和IP可以为我们的每个客户端进行更改。所有html脚本的src字符串将作为此应用程序中的父项从gui文件夹中引用。我认为有一种方法可以定义一个可以在全球范围内使用的directy,但我现在还没有得到......现在专注于结构。 – gunslingor

我想我有点回答我自己的问题。如果您使用回调并将数据传回,它将修复此编程问题。使其包含直接在页面中包含所有JavaScript代码引用的意义。即由于回调函数,一个js文件永远不需要依赖于另一个。

您可以使用HTML进口:

<link rel="import" href="include.html"> 

然后在引用文件(这里:include.html),把所有你需要的JavaScript和CSS文件。