首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地在Meteor应用程序上加载样式表和脚本。

如何正确地在Meteor应用程序上加载样式表和脚本。
EN

Stack Overflow用户
提问于 2016-06-21 13:25:50
回答 1查看 861关注 0票数 1

我正在使用Meteor构建一个仪表板,我已经从http://themeforest.net/购买了一个设计模板(HTML),并且无法找到如何将这个设计模板正确地集成到我的Meteor应用程序中。

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

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

第一个问题是我不知道该把这些文件放哪儿。这些文件对于我的应用程序的逻辑并不是必需的,所以我不想把它放在目录客户机中。另外,如果我将它们放置在client中,自动加载它们,那么我就无法控制它们加载的顺序。

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

我尝试了以下方法来加载这些文件:

1.导入client/main.html文件中的所有文件:

代码语言:javascript
复制
<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.导入client/main.js文件中的所有文件:

代码语言:javascript
复制
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术语来说)文档准备就绪时,我必须调用两个函数:

代码语言:javascript
复制
App.init()
// and 
Dashboard.init()

在传统的HTML格式中,可以这样做:

代码语言:javascript
复制
<script>
        // when document is ready, do something
        $(document).ready(function () {
            App.init();
            Dashboard.init();
        });
</script>

在流星上我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2016-06-21 21:16:22

使用projects Meteor的架构,您可以在客户端>样式表中使用css中的文件,在client > youNameTemplate.js中使用jquery

代码语言:javascript
复制
Template.youNameTemplate.rendered = function () {
    App.init();
    Dashboard.init();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37945762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档