MeteorJs:如何根据模板添加多个js和css文件。

时间:2014-05-11 23:59:21

标签: jquery css meteor

我处于流星的早期阶段,并试图学习如何整合模板。我有免费的bootstrap模板,它使用许多js和css文件。那么我如何在项目中添加/组织这些js和css文件。

我有js,css,img文件夹的公共文件夹。如果我在这里添加我的js和css文件,我如何链接我的模板和布局文件?

2 个答案:

答案 0 :(得分:0)

看看https://github.com/oortcloud/unofficial-meteor-faq以及我应该把文件放在哪里?那部分。应该为您提供您需要知道的一切。

答案 1 :(得分:0)

<强>更新

我最近发现Meteor.startup不是一种非常可靠的方法。对我来说,它可能有50%的页面刷新。请在这里阅读我的主题:

Meteor JS javascript files in main.* still don't load correctly. Best practices for load order?

原帖

我今天也做了同样的事情。

In Meteor JS, how to control Javascript load order in relation to DOM load order? For animations

我创建了client / views / application / layout.html并将模板代码粘贴到其中。

然后我删除了模板的<head>代码(因为Meteor为您添加了该代码),并将其余代码转换为<template>

我在public

中放置了所有模板的静态资源,如css,字体,图片,图标和js

我注释掉模板底部的脚本。通常这个东西会在加载DOM之后加载,但在Meteor的情况下它并不是由于Meteor加载东西的时髦方式:

(以下是我评论的内容)

 <script src="assets/js/jquery.min.js"></script>
 <script src="assets/js/bootstrap.min.js"></script>
 <script src="assets/js/isotope.pkgd.min.js"></script>
 <script src="assets/js/imagesloaded.min.js"></script>
 <script src="assets/js/jquery.scrollTo.min.js"></script>
 <script src="assets/js/jquery.nav.min.js"></script>
 <script src="assets/js/jquery.appear.min.js"></script>
 <script src="assets/js/twitterFetcher.min.js"></script>
 <script src="assets/js/script.js"></script>

由于Meteor导致DOM加载后上面的代码没有加载,你必须以另一种方式指定加载顺序。

我在layout.html所在的文件夹中创建了layout.js并添加了这个:

Meteor.startup( function () {
  $.getScript("assets/js/jquery.min.js");
  $.getScript("assets/js/bootstrap.min.js");
  $.getScript("assets/js/isotope.pkgd.min.js");
  $.getScript("assets/js/imagesloaded.min.js");
  $.getScript("assets/js/jquery.scrollTo.min.js");
  $.getScript("assets/js/jquery.nav.min.js");
  $.getScript("assets/js/jquery.appear.min.js");
  $.getScript("assets/js/twitterFetcher.min.js");
  $.getScript("assets/js/script.js");
});

现在模板有效了。在Meteor.startup文件夹中调用client时,它会在加载DOM后加载内容,这正是我们想要对这些javascript文件执行的操作。