当我运行我的流星项目时,出现了这个问题:
ReferenceError: Session is not defined
at app/_components/talk/views/friends_list.coffee.js:1:16
at /home/xyz/web/edp/.meteor/local/build/server/server.js:298:12
at Array.forEach (native)
at Function._.each._.forEach (/home/xyz/.meteorite/meteors/meteor/
meteor/9bb2b5447e845c4f483df5e9b42a2c1de5ab909b/
dev_bundle/lib/node_modules/underscore/underscore.js:78:11)
这是我的目录结构(我已经更改了文件的名称):
├── _components
│ ├── project_form
│ │ └── client
│ │ ├── lib
│ │ │ └── ...
│ │ ├── project_info
│ │ │ ├── x1.coffee
│ │ │ ├── x2.html
│ │ │ ├── x3.coffee
│ │ │ └── x4.html
│ │ └── views
│ │ ├── x5.coffee
│ │ └── x6.html
│ ├── README.md
│ └── talk
│ └── client
│ ├── x7.coffee
│ ├── x8.html
│ ├── x9.coffee
│ ├── x10.html
│ ├── x11.coffee
│ ├── x12.html
│ ├── x13.coffee
│ ├── x14.html
│ └── x15.less
如果我将目录结构更改为以下内容, 流星运行正常。我真的不知道为什么,怎么会发生? 我认为文件加载顺序可能会对它产生影响。 但我无法理解。
├── _components
│ ├── project_form
│ │ └── client
│ │ ├── lib
│ │ │ └── ...
│ │ ├── project_info
│ │ │ ├── x1.coffee
│ │ │ ├── x2.html
│ │ │ ├── x3.coffee
│ │ │ └── x4.html
│ │ └── views
│ │ ├── x5.coffee
│ │ └── x6.html
│ ├── README.md
│ └── talk
│ └── client
│ └── views
│ ├── x7.coffee
│ ├── x8.html
│ ├── x9.coffee
│ ├── x10.html
│ ├── x11.coffee
│ ├── x12.html
│ ├── x13.coffee
│ ├── x14.html
│ └── x15.less
答案 0 :(得分:75)
虽然以上是正确的,但如果您使用的是较新版本的Meteor,默认情况下不再支持Session。停止服务器,打开终端并写下:
meteor add session
如果您正在寻找ReactiveVar和ReactiveDict,同样的问题。打开终端并写信:
meteor add reactive-var reactive-dict
答案 1 :(得分:18)
可能会发生这种情况,因为Session
仅适用于客户端,app/_components/talk/views/friends_list.coffee.js
它也可以在服务器上运行。
您可能希望将所有观看/客户端内容移动到/client
目录中或将其放入:
if(Meteor.isClient) {
}
答案 2 :(得分:10)
转到 .meteor/packages
文件,并在最后一行添加 session
。
注意:您的流星服务器是否为UP并不重要。
停止流星服务器并运行以下命令。
meteor add session
答案 3 :(得分:2)
在我使用DigitalOcean部署到mupx之后发生这种情况。
在localhost上进行开发时, 会话有效,但在部署之后我得到了import csv
file =open('test_file_parse.csv','r')
out_file=open('test_out.csv','w')
lines = file.readlines()
file.close()
for line in lines:
line=line.strip()
print (line)
将
ReferenceError: Session is not defined
添加到流星包并重新部署后,错误已得到修复。