当前位置: 代码迷 >> JavaScript >> 是否可以在本地流星包内使用翡翠?
  详细解决方案

是否可以在本地流星包内使用翡翠?

热度:50   发布时间:2023-06-05 15:53:12.0

尝试将流星应用程序拆分为单独的程序包时,在尝试封装模板时遇到问题。 软件包名称为gs-users

包/ GS-用户/ package.js

Package.onUse(function(api) {
    api.versionsFrom('1.1.0.2');
    api.use('mquandalle:jade');
    api.addFiles('views/list.jade');
    api.addFiles('gs-users.js');
});

我的模板文件packages / gs-users / views / list.jade

template(name="GsUsersList")
    p Ola se?ior!!

在我的主要应用程序中,路由定义( lib / routes.js ):

Router.route('/', function() {
    this.render('GsUsersList');
});

流星现在抱怨: Couldn't find a template named "GsUsersList" or "gsUsersList". Are you sure you defined it? Couldn't find a template named "GsUsersList" or "gsUsersList". Are you sure you defined it?

当使用templating包而不是gs-users包内的mquandalle:jade和.html文件而不是.jade文件时,一切正常。 但是我真的很讨厌纯HTML;)

解决方案比我想象的要简单。 只需使用waitingkuo:jade而不是mquandalle:jade并将templating添加为依赖项即可:

Package.onUse(function(api) {
  api.versionsFrom('1.1.0.3');
  api.use('waitingkuo:jade');
  api.use('templating');
  api.addFiles([
    'le-template.jade',
  ], ['client']);
});

奇迹般有效!

  相关解决方案