2016-06-21 44 views
1

我正在使用Meteor构建仪表板,我从http://themeforest.net/购买了设计模板(HTML),并且无法弄清楚如何将此设计模板正确地集成到我的Meteor应用程序中。如何在Meteor App上正确加载样式表和脚本。

问题很简单,我在尝试加载设计模板正常运行所需的css文件和js文件列表时遇到了问题。我认为这些文件没有按照正确的顺序加载,这导致了错误。例如,有一半的jquery插件没有工作,这可能是由于插件文件在jquery文件本身之前加载引起的。我可以在网络中看到文件正在加载,但例如$ .sortable函数不可用。

加载样式表和JavaScript文件以确保它们按正确顺序加载的正确方法是什么?

第一个问题是我不知道把这些文件放在哪里。这些文件对于我的应用程序的逻辑不是必需的,所以我不想将它放在目录客户端中。此外,如果我将它们放置在客户端流星会自动加载它们,然后我无法控制它们加载的顺序。

因此,我将所有模板设计依赖项文件放在Public文件夹中,并尝试手动加载文件。

我曾尝试以下载入的文件:

1.导入客户端/ main.html中文件中的所有文件:

<head> 
    <meta charset="UTF-8"> 
    <title>ETL Web-Admin</title> 
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/> 
    <meta content="" name="description"/> 
    <meta content="" name="author"/> 


    <!-- ================== BEGIN BASE CSS STYLE ================== --> 
    <link href="/plugins/jquery-ui/themes/base/minified/jquery-ui.min.css" rel="stylesheet"/> 
    ... 
    <!-- ================== END BASE CSS STYLE ================== --> 


    <!-- ================== BEGIN BASE JS ================== --> 
    <script src="/plugins/jquery/jquery-1.9.1.min.js"></script> 
    ... 
    <script src="/plugins/jquery-cookie/jquery.cookie.js"></script> 
    <!-- ================== END BASE JS ================== --> 

</head> 

2.导入的所有文件客户端/ main.js文件:

Meteor.startup(function() { 
}); 



// <!-- ================== BEGIN BASE CSS STYLE ================== --> 
    import "../public/plugins/jquery-ui/themes/base/minified/jquery-ui.min.css" 
    ... 
// <!-- ================== END BASE CSS STYLE ================== --> 

// <!-- ================== BEGIN BASE JS ================== --> 
    import "../public/plugins/jquery/jquery-1.9.1.min.js" 
    ... 
//  <!-- ================== END BASE JS ================== --> 

上面的两个方法都给出同样的问题,依赖关系没有正确加载。

最后初始化设计模板,当所有元素都被加载,并且(在jQuery的术语)的文件已经准备好我叫两个功能:

App.init() 
// and 
Dashboard.init() 

在传统的HTML格式是可以做到的如下所示:

<script> 
     // when document is ready, do something 
     $(document).ready(function() { 
      App.init(); 
      Dashboard.init(); 
     }); 
</script> 

我如何在流星中做到这一点?

回答

0

使用sctructure的项目流星,你在CSS文件中 客户端>样式表 ,你在客户端的jQuery> youNameTemplate.js

Template.youNameTemplate.rendered = function() { 
    App.init(); 
    Dashboard.init(); 
} 
+0

当u得到过去开发应用程序,并把它活它是建议将所有资产文件(CSS和图像)托管在CDN上 – SlartyBartfast

相关问题