【问题标题】:How to modify/edit a Meteor package?如何修改/编辑 Meteor 包?
【发布时间】:2013-04-02 13:37:19
【问题描述】:

我想在同一台服务器上运行两个不同的 Meteor 应用程序(在不同的端口上),但我想更改 Meteor 核心包之一中的某些内容,我希望一个应用程序使用原始包,另一个应用程序使用修改后的包一。我该怎么办?

【问题讨论】:

    标签: meteor


    【解决方案1】:

    一个更直接的答案,基于here 的回答:

    1. 在您的项目中创建 packages 文件夹并将位置更改为该文件夹('cd yourproject' && 'mkdir packages' && 'cd packages')
    2. 从 git 获取文件('git clone https://github.com/YOUR_PACKAGE_ADDRESS' - 你需要有 git installed
    3. 在获取的包文件夹中找到 package.js 并在“Package.describe”名称值中进行编辑,例如添加“-manually-modified”
    4. 在获取的包文件夹中编辑您需要修改的文件。
    5. 将包添加到项目(流星添加包名称手动修改)

    【讨论】:

    • 我还需要在 packages 文件夹中编辑包的路径吗?
    • 关于第 3 步(重命名包)的警告。如果其他安装的包依赖于被修改的包,重命名将导致使用 2 个单独的包:原始包和修改后的包。这可能不是您想要的,因此建议不要在这些情况下重命名。请参阅this question 作为示例。
    • 我遇到了一个问题,我无法从 .meteor/packages 修改包,但是通过这些步骤它可以工作。
    【解决方案2】:

    你可以在 github repo 获取包的文件:https://github.com/meteor/meteor/tree/master/packages

    获取除package.js 文件之外的您想要的文件并将它们添加到您的项目中。值得注意的是,有时您需要确保它们的加载顺序,因此您可能需要修改文件名,查看加载顺序请查看package.js。默认情况下,meteor 按名称订购文件,但包不一定使用它。

    如果您只是修改包并使用meteorite 将其添加回来,则可以避免重命名文件:https://github.com/oortcloud/meteorite

    关于如何制作smart.json 的完整说明:https://atmosphere.meteor.com/wtf/package。如果有什么好的,请考虑将其添加到atmosphere

    【讨论】:

    • 我要修改accounts-base 包,更准确地说是一个文件:accounts_common.js。第 38 行有 users 集合名称,在我将其更改为 myusers 并将更改后的文件放置到 ~/myapp/packages/accounts-base/accounts_common.js 后,我在 Firebug 中收到以下错误:There is already a collection named 'myusers'。我认为这是因为与修改后的文件一起运行的原始文件发生冲突?
    • 你删除了正常的accounts-base吗?如果冲突,您在某处有两个 new Collection("myusers") 定义
    • 不,我没有删除正常的accounts-base。正如你告诉我的那样,我只是将更改后的文件放在一个空目录 (~/myapp/packages/accounts-base) 中。
    • 哎呀,我忘了提一个细节,服务器端和客户端代码之间有区别,看看 package.js,如果它是服务器端文件,请将其放入 /server/ 和客户端在/client。看起来客户端和服务器端代码冲突
    • 这是 package.js:github.com/meteor/meteor/blob/master/packages/accounts-base/… 介意看一下吗?我觉得两边都用到了。
    【解决方案3】:

    我的包在其根目录下的用户文件夹中,作为一个名为 .meteor 的隐藏文件夹。

    也许你可以在那里检查一下?在 Mac 上,它会位于:

    ~/.meteor/packages/你的包名

    您现在还必须进入 os.json 中的文件,并更改您更改的文件的“长度”变量以匹配新的字节文件大小。否则它可能无法编译,但请先尝试编译,看看是否是您更改了某些包代码的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-07
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多