【发布时间】:2013-04-08 23:52:07
【问题描述】:
我正在使用 Moovweb SDK。到目前为止,我使用的所有 javascript 都已放入 javascript 的“main”文件夹中,并在该文件夹中捆绑到 main.js 文件中。我们是否可以拆分 javascript 文件,只在每个页面包含我们需要的内容,而不是将所有脚本捆绑在一起?
【问题讨论】:
标签: javascript moovweb
我正在使用 Moovweb SDK。到目前为止,我使用的所有 javascript 都已放入 javascript 的“main”文件夹中,并在该文件夹中捆绑到 main.js 文件中。我们是否可以拆分 javascript 文件,只在每个页面包含我们需要的内容,而不是将所有脚本捆绑在一起?
【问题讨论】:
标签: javascript moovweb
要使用 Moovweb SDK 添加单个 Javascript 文件,请在相应的 TS 文件中使用 insert() 函数。
您可以使用以下方法从项目的 assets/ 文件夹中添加单个 Javascript 文件:
insert("script", type: "text/javascript", src: asset("javascript/MY_JS_FILE.js"))
您也可以使用相同的技术添加远程托管的 Javascript 文件:
insert("script", type: "text/javascript", src: "//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js")
如果您希望在整个网站中添加此 Javascript 文件,您可以将代码行添加到 html.ts 文件中。如果您只想在主页上使用此 Javascript 文件,请将代码行放在 pages/home.ts 文件中。等等……你明白了!
默认情况下,与docs 一样,Moovweb SDK 将所有 JS 文件放在assets/javascript/main 中,将其捆绑并作为main.js 提供。
使用上述技术,您可以轻松不使用捆绑,而是单独提供 JS 文件。
【讨论】:
您还可以将 JavaScript 范围限定为仅适用于某些页面。
如果您遵循将类添加到所有转换页面的正文的约定,那么您可以轻松地使用它来识别您的 JavaScript 在哪些页面上运行。
例如:
x$(document).on("DOMContentLoaded", function() {
x$("body._home").each(function() {
// my javascript
});
});
将仅在正文具有“_home”类的页面上运行您的 JS。
这样您的 JavaScript 仍然与其他脚本捆绑在一起。
【讨论】: