在 Windows 10 上安装裸流星后未定义集合

Posted

技术标签:

【中文标题】在 Windows 10 上安装裸流星后未定义集合【英文标题】:Collection is not defined after a bare meteor install on windows 10 【发布时间】:2020-09-01 21:26:22 【问题描述】:

这个新安装的流星(1.10.2)由 Chocolatey 在 Windows 10 上,然后是 meteor create --bare appName 然后复制/粘贴一些我已经停放了一段时间的 2 岁代码。追寻此运行时错误的原因无济于事。

ReferenceError: DataTeckCol is not defined
at server/dataTeck.js:13:1
at module (server/dataTeck.js:20:8)

../server/dataTeck.js

"use strict";
let cheerio = require('cheerio');
import Matcher from "./matcher";
import Dispatcher from "./dispatcher";
import '../imports/api/dataTeck.js';

DataTeckCol.remove(plateNum: $in: plates);  //<<<<<<<< Error line

../imports/api/dataTeck.js

import  Mongo  from 'meteor/mongo';
export const DataTeckCol = new Mongo.Collection('dataTeckCol');

【问题讨论】:

【参考方案1】:

你需要显式地导入导出的常量,所以不是

import '../imports/api/dataTeck.js';

您需要通过以下方式导入它

import  DataTeckCol  from '../imports/api/dataTeck.js';

【讨论】:

这是否意味着每个集合都需要在 api 文件夹下的自己的文件中声明,并且每次需要引用时,import 语句都需要位于文件的顶部,是有没有一种同样模块化的方式,需要更少的打字和维护? 您可以在全局范围内定义它,然后只需要导入一次,但全局范围是一种反模式。自动完成变量时,您的 ide 应自动解析导入。使用开箱即用的 webstorm,使用 vs code 你需要安装一个插件然后它也可以工作。

以上是关于在 Windows 10 上安装裸流星后未定义集合的主要内容,如果未能解决你的问题,请参考以下文章

流星集合不更新客户端上的订阅

Windows、Git 和裸存储库的 SSH url/路径

使用 New-SmbGlobalMapping 为 docker 容器创建的 SMB 共享映射在 Windows Server 1803 上重新启动后未恢复

尝试在服务器端插入文件时流星文件集合显示为空?

流星集合没有在启动时自动创建,并且 autoform 不会发布到 mongo db

安装 PHP 包后未定义类型