如何确定将哪个css文件发送给客户端

时间:2013-09-03 07:57:28

标签: javascript node.js meteor url-routing

我用Meteor开始了一个简单的项目。但现在它变得越来越复杂了。我正在尝试为项目添加管理面板。我想分离网站及其面板。但是每个css和js文件都被发送到站点和管理。

环境:我在meteor.com上托管项目。我的开发机器是Windows 7.我不能使用陨石。如果您打算建议我使用mrt add router,欢迎您。但目前我无法做到。

当前目录结构:

  • 客户端(client.js,index.html,css文件,其他js文件,如jquery插件)
  • server(server.js)
  • public(用户界面的图片文件)

更新

我有一个索引文件:

<head>
    <title>Index</title>
</head>

<body>
    {{> root}}
</body>

root模板正在使用其他一些模板。我可以使用2个不同的索引文件。 1个用于站点,1个用于管理面板。

根模板:

<template name="root">
    {{#if adminURL}}
        {{> adminLogin}}
    {{else}}
        {{> site}}
    {{/if}}
</template>

adminLogin模板:

<template name="adminLogin">
    {{#if currentUser}}
        {{> management}}
    {{else}}
        admin login page.
            <div style="float: right">
              {{loginButtons align="right"}}
            </div>
    {{/if}}
</template>

管理模板:

<template name="management">
    <div id="header" class="navbar">
       ....
    </div>
    <div id="container" class="row-fluid">
       ....
    </div>
</template>

网站模板:

<template name="management">
     <h1>Hello World!</h1>
</template>

1 个答案:

答案 0 :(得分:3)

TLDR;如果您将文件放在/public文件夹中,它们将不会自动发送到客户端,只需手动引用它们。

要手动引用您的文件,只需将其添加到您的</body>之前的HTML中。因此对于/public/js/myFile1.js的文件:

    <script type="text/javascript"  src="/js/myFile1.js"></script>
</body>

以下所有内容都发送给客户端,所有js,css,font&amp;顶层的html文件(根目录和&amp;子目录不是:

  • 服务器
  • 公共
  • 资产
  • 公共
  • 以'。'
  • 开头的文件夹
  • 或测试(不确定)

全部连接成一个文件并发送给客户端。

所以在公共文件夹中流星几乎忽略了它们。如果您愿意,可以手动引用它们以包含它们。

另一种选择可能是创建一个私有包,以便您可以明确决定要包含哪些文件,这样可以轻松地在不同的相关流星应用程序上使用相同的设计。