我正在使用Meteor js
的最新版本。我是新手,找不到解决方案。我已经为这个问题冲浪了很多。无法在Google Chrome控制台中访问变量
在问题出现之前,请先看一下目录结构。
我的项目的目录结构是这样的:
\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';
注:我试过了相对和绝对两种类型的寻址。
我在此之后放了一个debugger
并检查并且变量在那里。我可以在控制台上访问该变量。但只要我通过声明并将所有代码呈现在浏览器(谷歌浏览器)上,我就无法使用Todos
。它给了我一个ReferenceError。错误是
未定义待办事项。
我知道有没有问题,直到浏览器加载,因为我检查了。我已经冲浪了很多。请帮帮我。
预先感谢您。
编辑1:如果需要,我使用的是Windows 7。
当页面呈现时,您已超出范围。模块是“让我们说功能”,只是内部的范围,这些导入只是传入参数,而那些只在函数本身内部可见。你不能在外面访问这些数据,除非你把它们放到全局的东西里......比如窗口对象。 – insider
我也看到了其他项目。他们没有使用任何窗口对象,我也能从控制台的变量中获取数据。你知道如何在不使用窗口的情况下完成任务吗? –
我可以想到它通过一些变量或导入变量将范围“全局范围”(在index.js中使用import + babel)的唯一方法。模块的基本行为是导入的变量是作用域的,并且不能从全局范围的控制台访问。可能会有铬插件或其他一些“魔术”来使范围外。 – insider