为什么';当自定义javascript文件';是否重新放置在客户端文件夹中?

为什么';当自定义javascript文件';是否重新放置在客户端文件夹中?,javascript,meteor,Javascript,Meteor,好的,我是meteor的新手,在将自定义javascript文件呈现到页面上时遇到问题。我以为你应该把它们放在客户文件夹里。但出于某种原因,这是行不通的。我还尝试添加脚本标记来调用js文件,但这不起作用。它工作的唯一方法是在页面底部的脚本标记内硬编码javascript代码。然而,我不能对我拥有的每个js文件都这样做,因为它们都有相似的变量 这是我为客户和项目其余部分设计的项目结构 client js main.js classy.js bootstrap.js

好的,我是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

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

定义助手、路由等的Javascript文件位于
client
目录中

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

我建议不要这样做,在
client/
目录中的
.js
文件中编写逻辑

我就是这么做的

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

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

我最近解决了一个与您类似的问题,我的应用程序在我的服务器上运行良好,但当部署到meteor.com时,我的大多数用户模板工作不完整或根本不工作(特别是用户功能)


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

按照你的建议,我将脚本标记添加到我的主布局页面中,并将与这些脚本标记相对应的.js文件添加到公共页面中,但我仍然没有看到我页面的功能。我做错了什么?对不起,我的第一个答案不清楚(有点误导)。你能告诉我“自定义javascript文件”是做什么的吗?自定义javascript文件是我的导航栏的插件,可以向下滑动。导航栏中的每个部分都有自己独立的javascript文件。该导航栏中的所有文件都有自己的匿名函数来防止全局变量。如果我曾经向您展示过这些文件,它们都有非常相似的变量,唯一的区别是这些变量拥有不同的id和类。这有意义吗?我已经按照@danyll的建议让第三方LIB发挥作用了。这些LIB是生活的包装吗?()是的,这些文件都包装在生活中。我需要这样做,因为它们都有相似的变量名,只是id和类不同