如何构建javascript文件?

Yeo*_*nho 5 javascript web-applications requirejs

我有

  • base.html
  • pageA.html
  • pageB.html
  • pageA.js
  • pageB.js

    1. pageA.js有 代码pageA.html,pageB.js有 代码pageB.html.
    2. 两者pageA.jspageB.js使用jQuery.

目前我将所有脚本包含在 base.html 中,如下所示:

<html>
  <body>
    <div id="contents">
      <!-- pageA.html / pageB.html comes here -->
    </div>
    <script src="js/jquery.js"></script>
    <script src="js/pageA.js"></script>
    <script src="js/pageB.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我只想加载pageA.jsforpageA.htmlpageB.jsfor pageB.html,因为每个文件中的代码在其他页面中不需要。

我已经研究过require.js库,但我不确定它是否是解决我的问题的正确解决方案。在这种情况下构建 javascript 文件的最佳实践是什么?

Nem*_*ein 1

我认为您能做的最好的事情就是在 IF 的<script src="js/pageX.js"></script>末尾添加pageX.html IF该页面是动态加载的。如果页面不是动态加载的,它可能会提前加载jquery.js并破坏您的 JavaScript。

或者您可以读取当前 URL 并根据此信息加载正确的脚本,如下所示:

var scriptPath;
var currentPage = window.location.pathname;

if (currentPage == "pageA.html")
{
    scriptPath = "pageA.js";
}
else if (currentPage == "pageB.html")
{
    scriptPath = "pageB.js";
}

var scriptElement = document.createElement("script");
scriptElement.setAttribute("type", "text/javascript");
scriptElement.setAttribute("src", scriptPath);

document.getElementsByTagName("head")[0].appendChild(scriptElement);
Run Code Online (Sandbox Code Playgroud)