无法访问 google chrome 控制台中的变量

Not able to access variable in google chrome console

我使用的是最新版本的 Meteor js。我是新手,找不到解决方案。我已经为这个问题上网了很多。

在解决问题之前,请先查看目录结构。

我的项目目录结构是这样的:

\client
    \main.html
    \main.css
    \main.js
\imports
    \lib
       \todos
           \todos.js
\server
    \main.js

我在 todos.js 中创建了一个 Mongo Object

export const Todos = new Mongo.Collections('todos');

这工作正常。

现在 client\main.js,我正在导入这个对象,

import { Todos } from '\imports\lib\todos\todos.js';

Note: I tried relative and absolute both type of addressing.

我在那之后放了一个 debugger 并检查了变量在那里。我可以在控制台上访问该变量。但是一旦我通过语句并且所有代码都在浏览器上呈现(google chrome),我就无法使用 Todos。它给我一个 ReferenceError。错误是

Todos is not defined.

我知道在浏览器加载之前没有问题,因为我检查过了。我冲浪了很多次。请帮我。

提前谢谢你。

编辑 1:如果有必要,我正在使用 windows 7。

正如上面的评论所说,在 file/module 中声明或导入的变量不会最终出现在开发者控制台上。

要在控制台上获取内容,您可以使用 require

将其导入控制台
> require('/imports/lib/todos/todos.js')

任何有效的绝对路径或包都可以在这里使用

Note: the path separators are always *nix style /

我在 Chrome 控制台中尝试从 Moment.js 评估 moment 时遇到了类似的问题。它是由 debugged/under 断点的脚本导入的,但在控制台中不起作用。控制台中的 importrequire Moment.js 给了我错误,对我不起作用。

我最终切换到 Firefox Developer Edition,我可以在其中设置断点,然后在其控制台中开箱即用地评估 moment