在需要时或始终通过外部加载jQuery / CSS内联?

时间:2013-02-26 08:08:47

标签: javascript css external inline

我喜欢让自己忙于构建模块化网络应用程序,但不想花时间在哪里可以保存一些...

例如,我正在构建一个应该可以在多个站点上轻松实现的新闻模块,因为使用了相同的Web应用程序。

然而,并非所有网站都需要新闻模块。是否更好/更容易/更快地创建内置于模块本身的内联样式表/ javascript文件,而不是创建一个包含所有库的大型外部样式表/ javascript?即使所有其他网页都不需要新闻模块的文件?

在模块本身中创建内联库似乎要容易得多。这样只在需要时加载,并在其他页面上节省加载时间和带宽。

另一件事是我喜欢编写“即插即用”模块。假设我将文件跨文件服务器移动到模块文件夹中,应用程序将负责其余部分。使用内联工作表,我不必在页眉/页脚等中添加新行。

最佳解决方案是什么?还考虑到我宁愿花10分钟移动一个文件并且它有效,而不是花1个小时来附加外部库只是因为它更像是一个“好习惯”?

3 个答案:

答案 0 :(得分:1)

如果您正在构建Web应用程序,您使用的是MVC模式吗?你把你的顾虑分开吗? (您的模板/视图,模型和逻辑(控制器))

如果您关注MVC,则可以更轻松地维护和自定义您的应用。

要回答您的确切问题,您需要的是RequireJS。这样你只有一个地方可以声明你的要求,而RequireJS将处理其余的..加载订单等等..

从requirejs网站引用:

  

随着时间的推移,如果您开始创建需要的更多模块化代码   在几个地方重用,RequireJS的模块格式使其变得简单   编写可以即时加载的封装代码。

答案 1 :(得分:1)

内联永远不是维护CSS的可靠方法。请注意将布局描述与视图分开。您可以轻松地将该文件包含在与模块相同的目录中,因此它不应成为问题。

答案 2 :(得分:0)

或者,如果您只想加载“on fly”某些脚本,可以使用jQuery.getScript,http://api.jquery.com/jQuery.getScript/。否则你应该遵循乔治的方式。