Meteor app bootstrap scrollspy错误

时间:2015-12-01 14:42:42

标签: twitter-bootstrap meteor

使用Bootstrap创建一个Meteor应用程序(手动插入public / javascript目录)。每次我执行应用程序时,我都会得到以下信息:

Exception from Tracker afterFlush function:
debug.js:41 TypeError: $(...).scrollspy is not a function
    at eval (eval at <anonymous> (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:365:22), <anonymous>:20:15)
    at eval (eval at <anonymous> (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:365:22), <anonymous>:48:3)
    at eval (native)
    at http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:365:22
    at Function.jQuery.extend.globalEval (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:366:7)
    at jQuery.ajaxSetup.converters.text script (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:9792:11)
    at ajaxConvert (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:8864:18)
    at done (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:9285:15)
    at callback (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:9739:8)
    at Object.send (http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:9745:7)

我检查了&#39; public / javascript / bootstrap.js&#39;文件和一个功能&#39; ScrollSpy(元素,选项)&#39;所以它似乎是一个功能。因此,不知道这里有什么问题...

编辑:

我在layout.js文件中加载文件:

Template.layout.rendered = function() {
  $('head').append('<script type="text/javascript" src="/frontend/javascript/jquery.easing.min.js"></script>');
  $('head').append('<script type="text/javascript" src="/frontend/javascript/jquery.easing.min.js"></script>');
  $('head').append('<script type="text/javascript" src="/frontend/javascript/jquery.fittext.js"></script>');
  $('head').append('<script type="text/javascript" src="/frontend/javascript/wow.min.js"></script>');
  $('head').append('<script type="text/javascript" src="/frontend/javascript/creative.js"></script>');
}

奇怪的是我没有加载bootstrap javascript,但我仍然在获得引导布局和功能。在上面的layout.js中加载最小化的引导程序导致没有导航菜单(它在那里但没有显示)

编辑:目录结构

client
  helpers
  lib
    frontend
       css
templates
  authenticated
  layouts
  public   
lib
public
  frontend
     fonts
     img
     javascript
server
   ...

1 个答案:

答案 0 :(得分:0)

公共文件未自动加载到应用程序中,您需要手动包含它们。 This Stackoverflow answer提供有关如何包含外部脚本的详细信息。可以使用绝对URL:<TabControl ItemsSource="{Binding PageViewModels}" SelectedItem="{Binding CurrentPageViewModel}" TabStripPlacement="Top"> <TabControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}" /> </DataTemplate> </TabControl.ItemTemplate> </TabControl> 来访问公共目录中的文件。

我建议只使用Bootstrap包,但您可以使用/javascript/bootstrap.js进行安装。有关该软件包的更多信息,请访问Atmosphere, the package browsing site for Meteor