javascript - 如何构造javascript文件?

标签 javascript web-applications requirejs

我有

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

    1. pageA.jspageA.html 的代码, pageB.jspageB.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>

我想加载 pageA.js仅适用于 pageA.htmlpageB.js对于 pageB.html ,因为其他页面不需要每个文件中的代码。

我调查了 requires.js库,但我不确定它是否是解决我的问题的正确方法。在这种情况下构建 JavaScript 文件的最佳做法是什么?

最佳答案

我认为你能做的最好的就是添加 <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);

关于javascript - 如何构造javascript文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138971/

相关文章:

javascript - 为什么 Mongoose 插入 null 作为子文档数组的最后一个元素?

javascript - 如何获得仅打印星期几的日期?

javascript - 如何将 css 文件作为原始文本导入 React 组件?

requirejs - 是否可以将requirejs模块转换为commonjs?

javascript - 在 javascript 中捕获事件

javascript - 处理 Cookie 的最佳方式

angular - 限制对 Angular2 Web 应用程序后端的访问?

java - JSP/Servlet 应用程序中的 main() 方法在哪里?

javascript - Backbone 与 requirejs

javascript - 嵌套函数无法访问 requirejs 回调参数