当我们的Meteor模板放置在客户端文件夹中时,为什么不会自定义javascript文件?

时间:2015-03-13 01:27:18

标签: javascript meteor

好的,我是meteor的新手,我在将自定义javascript文件渲染到页面时遇到问题。我以为你应该把它们放在客户端文件夹中。但由于某种原因,这是行不通的。我还尝试添加脚本标签来调用js文件,但这并不起作用。唯一可行的方法是,如果我在脚本标记内的页面底部硬编码我的javascript代码。但是我不能为我拥有的每个js文件执行此操作,因为它们都有类似的变量而不是。

这是我的客户和项目其余部分的项目结构。

client
  js
    main.js
    classy.js
    bootstrap.js
  stylesheets
  views
    login
    register
    search
server
  social-config.js
public
lib
  router.js
private

2 个答案:

答案 0 :(得分:0)

Meteor会将它找到的所有Javascript文件合并到test/private/server/目录中,并将其设置为客户端。

定义帮助程序,路由等的Javascript文件位于client目录中。

但是如果您想要可以按原样引用的Javascript文件,请将其放在public/目录中。然后,您可以使用<script>标记引用它们,但只能在<head>内。如果您的文件位于public/some/dir/myfile.js,则可以使用路径/some/dir/myfile.js

在HTML中引用该文件

我建议不要这样做,并将您的逻辑写在.js目录中的client/个文件中。

这就是我的工作

client/          <---- helpers + event handlers (your logic)
    lib/         <---- Third-party libraries
public/          <---- Reference as is, in the `<head>` - sent to client as an asset, not for normal use

答案 1 :(得分:0)

您是否将应用程序部署到* .meteor.com?如果是这种情况,请从您的发行版中删除“social-config.js”文件,然后重试。

我最近解决了类似于你的问题,我的应用程序在我的服务器上工作正常但是当部署到meteor.com时,我的大多数用户模板都工作不完整或根本没有工作(特别是用户功能)。

在没有“social-config.js”文件的情况下重新部署应用程序,然后以交互方式配置社交按钮。