【问题标题】:CoffeeScript Packages Not Working with Meteor 0.9.0.1CoffeeScript 包不适用于 Meteor 0.9.0.1
【发布时间】:2014-10-28 15:05:38
【问题描述】:

升级到 0.9.0.1 后,CoffeeScript 包似乎有两个问题:

  • package.js 的导出似乎没有被导出。

  • 源文件似乎没有被编译。

package.js:

    Package.describe({
       summary: "sunburn"
    });

    Package.on_use(function (api, where) {

       api.add_files(['lib/sunburn.coffee'], 'server');

       api.export && api.export('Stinger', 'server');


    });

    Package.on_test(function (api) {
    });

晒黑咖啡:

Stinger = -> "stinger here"

这是一个本地包。 “流星添加晒伤”和“流星去除晒伤”都可以正常工作。如果 sunburn.coffee 被修改,服务器将重新启动。但是,在从服务器端代码中使用时,“Stinger”是未定义的。更有趣的是,如果 sunburn.coffee 被修改为包含语法错误,服务器将愉快地重新启动,并且不会报告任何错误。这就是让我相信 CoffeeScript 文件甚至没有被编译的原因。或者,至少,没有完全“连接起来”。

与此类似的代码在 0.9 之前的版本中有效。

最后一点:如果将 sunburn.coffee 更改为普通的 js 文件,将 'Stinger' 重写为普通的 javascript,并在 package.js 中更新文件路径,则上述工作正常。

谢谢:-)

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您需要指定您的包实际上依赖于 coffeescript 才能进行编译:

    api.use("coffeescript","client");
    

    以前,仅让您的应用程序依赖于构建插件(less、coffeescript 等)是可以的,但显然现在您必须指定在包中也使用它们。

    不相关,但您还应该在 Package.describe 中指定一个版本,并且测试 api.export 的存在是不相关的,因为我希望没有人再使用 Meteor

    【讨论】:

      猜你喜欢
      • 2016-04-20
      • 1970-01-01
      • 2016-01-02
      • 2013-12-10
      • 2016-07-16
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      相关资源
      最近更新 更多