gpt4 book ai didi

meteor - 我如何在 Coffeescript 中编写 Meteor 包?

转载 作者:行者123 更新时间:2023-12-02 08:25:57 25 4
gpt4 key购买 nike

我在我的 meteor 资源中使用 CoffeeScript [CS]/heavily/。事实上,我项目中的所有内容都是使用 CS 编写的。我想用同样的方式写包。它们应该如何组织、声明和编写,以便在最大限度地提高可测试性和可移植性的同时利用 CS 方言的强大功能?

最佳答案

简而言之,您只需要 api.use('coffeescript'); 在您的 Package.onUsePackage.onTest 中用 CoffeeScript 编写你的包。参见 the docs有关命名空间怪癖的概述。

这是一个名为 safe 的包的简单示例,其中包含以下四个文件:

package.js

Package.describe({
name: 'safe',
summary: 'Encrypt strings to keep them safe (or not)'
});

Package.onUse(function(api) {
api.versionsFrom('1.1.0.3');
api.export('Safe');
api.use('coffeescript');
api.addFiles('encrypt.coffee');
api.addFiles('safe.coffee');
});

Package.onTest(function(api) {
api.use('tinytest');
api.use('safe');
api.use('coffeescript');
api.addFiles('tests.coffee');
});

加密咖啡

# use the share object to export code to other files in the package
share.encrypt = (string) ->
# a super strong encryption :)
string.replace /[a-zA-Z]/g, (c) ->
String.fromCharCode (if ((if c <= "Z" then 90 else 122)) >= (c = c.charCodeAt(0) + 13) then c else c - 26)

safe.coffee

{encrypt} = share

class Safe
constructor: (@string) ->

encrypt: ->
encrypt @string

tests.coffee

Tinytest.add 'safe encryption', (test) ->
safe = new Safe 'pandapants'
test.equal safe.encrypt(), 'cnaqncnagf'

这应该为您提供一个模板作为起点。如果您需要更多说明,请在评论中提问,我会根据需要更新答案。

关于meteor - 我如何在 Coffeescript 中编写 Meteor 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32151664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com