2015-07-04 76 views
0

我在包中使用铁路路由器,它抱怨说它找不到模板,即使我已经定义了它。内部包装中的铁路路由器:找不到模板

我已经定义了一个名为layout我的包里面的模板:client/templates/shared/layout.html

而且我要求文件中package.js这样的:

Package.onUse(function(api) { 
    api.versionsFrom('1.1.0.2'); 

    api.use('iron:[email protected]'); 

    api.addFiles([ 
    'both/routes.js' 
    ], ['client', 'server']); 

    api.addFiles([ 
    'client/templates/shared/layout.html', 
    'client/templates/home.html' 
    ], 'client'); 
}); 

而且我用我的路线定义文件layout模板, both/routes.js

Router.configure({ 
    layoutTemplate: 'layout' 
}); 

Router.route('/', { 
    name: 'home', 
    template: 'home' 
}); 

而在我的主应用程序中,我正在使用这个软件包。它可以在.meteor/packages找到。

但是,当我浏览到/,我得到

Couldn't find a template named "layout" or "layout". Are you sure you defined it? 

我试图重新启动没有成功的服务器。我错过了什么?

+0

胡乱猜测,请尝试使用'api.addFiles'包文件内的路由器文件,然后再添加HTML文件??? – Sasikanth

+0

@Sasikanth我尝试了所有与'api.use'和两个'api.addFiles'的组合,但无法使它工作。 –

回答

1

您可能还需要以下两个:

api.use(['templating'], 'client'); // The templating package

api.export('layout' ['client', 'server']); // Export your template.

+0

添加'api.use('模板','客户');'做了诡计。对于任何有类似问题的人,请参阅[模板](https://github.com/meteor/meteor/tree/devel/packages/templating#templating) –