我正在寻找一些关于保存我的 JavaScript (jQuery) 函数的最佳方式的建议。
我在 MVC/razor 中开发,因此有一个布局页面。我在此处包含我的 jQuery 库和一个外部 JavaScript 文件,因此它在每个页面中都可用。
这工作得很好,但我现在越来越意识到我在每个页面中添加了将近 300 行 JS,其中可能有一半用于这些页面中的任何一个。
一个函数不在外部文件中,而是位于 HTML 中,因为我需要使用在我的 Razor 代码中设置的变量。
我对这个安排有几个问题:
- 当使用使用 razor 设置的变量时,将 JS 放在 HTML 中通常是可以接受的吗?似乎没有一种将变量传递到外部 js 文件的干净方法
- 我是否应该将我的功能分解成单独的 JS 文件,只包含网站中每个页面所需的内容?
- 如果我要将它们拆分成多个文件,那将如何与 jQuery 的
(document).ready
一起工作?如果要使用我包含的所有 JavaScript,我是否需要使用它?
我确信这更多的是见仁见智,而不是非黑即白的答案,但我想在继续之前考虑所有的选择。尽管它按原样运行良好,但我还是忍不住觉得有更好/更清洁的方法。
最佳答案
请记住,一旦用户登陆您的主页并加载 javascript 文件,该文件将缓存在他们的浏览器中,因此后续页面将不会再次下载 Javascript。
我肯定会将 js 分开,您可以在每个页面上都有一个片段来初始化特定 View 所需的 JS。在需要运行 JS 的 View 中放入类似下面的内容
$(document).ready(function() {
mysite.mypage();
});
然后可以在外部JS文件中定义函数mysite.mypage()。 300 行不是世界末日,我想说现在担心优化可能还为时过早。
您总是可以考虑缩小该 JS 文件以减小大小。此处提供了一种快速简便的方法:
关于javascript - 如何/何时/何地包含外部 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954734/