2

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

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

当前目录结构:

  • 客户端(client.js、index.html、css 文件、其他 js 文件,如 jquery 插件)
  • 服务器(server.js)
  • 公共(用于 UI 的图像文件)

更新

我有 1 个索引文件,即:

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

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

根模板在里面使用了一些其他的模板。我可能会使用 2 个不同的索引文件。1 个用于站点,1 个用于管理面板。

根模板:

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

admin登录模板:

<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>
4

1 回答 1

3

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

要手动引用您的文件,只需将它们添加到您的 HTML 中,就在您所在的位置之前</body>。所以对于一个文件/public/js/myFile1.js

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

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

  • 服务器
  • 上市
  • 资产
  • 上市
  • 以“.”开头的文件夹
  • 或测试(不确定)

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

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

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

于 2013-09-03T09:19:33.090 回答