gpt4 book ai didi

javascript - 如何通过在 Meteor 中导入不同文件来正确使用 es6 类?

转载 作者:数据小太阳 更新时间:2023-10-29 04:26:13 24 4
gpt4 key购买 nike

我最近发现了 Meteor,我正在努力在新的 Meteor 项目中使用 ES6 类和导入。我想要做的是拥有一个复杂的类结构,从 Meteor 事件/方法/助手调用哪些方法。我通过编写命令 $ meteor add grigio:babel 将 Babel.js 添加到项目中,它可以正常工作。

我正在努力实现的示例:

在服务器/模型/article.js 中:

class Article {
static all() {
//returns all articles from db
}
}

在服务器/方法/articles.js 中:

Meteor.methods({
allArticles: {
Article.all();
}
})

仅仅这样会在方法文件中引发 ReferenceError: Article is not defined,这就足够了。所以我有三个选择:将所有类写在一个文件中,将所有类附加到一个全局对象或使用像 Browserify 这样的好模块系统。显然,第三种选择更好。

但是我该如何使用它呢? Babel 默认将 exportimport 转换为 Browserify,Meteor 在页面刷新时引发 require is not defined 错误。谷歌搜索问题后,我没有找到关于如何将 Browserify 添加到 Meteor 的明确解决方案。我应该向 Meteor 添加 npm 包支持,添加 browserify 的 npm 包,然后在我导入/导出任何内容的每个页面上手动将其添加到 Meteor 吗?还是我应该使用完全不同的方法?这个任务在 Meteor 中通常是如何处理的?谢谢!

最佳答案

我之前读过这篇文章并找到了 this issue在 github 上可能有帮助。

基本上只是将类分配给一个同时暴露给客户端和服务器的变量(lib/both/etc 取决于您的文件结构)。像这样:

Article = class Article {...}

目前看来是最好的解决方案。

关于javascript - 如何通过在 Meteor 中导入不同文件来正确使用 es6 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367236/

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