我正在将 Meteor.js 用于一个新项目。
起初它可以工作,但是现在当我运行流星时,它似乎开始正常,但是当我转到localhost:3000
浏览器时会自动下载一个空文件。
我尝试清除缓存,重新启动计算机,重新安装节点并重新安装流星。我还尝试运行流星示例应用程序,并创建一个新应用程序,无论我得到与下载空文件相同的结果。斗智斗勇,有什么想法吗?
我在使用 Google Chrome 的 OS X lion 上。
编辑:
所以,在搞砸了一些之后,/usr/local/meteor/examples
如果我使用sudo meteor --port <some arbitrary port>
.
当我尝试使用我的应用程序时,它说它正在运行,但我仍然一无所获。
示例应用程序中来自curl
localhost 的标头给出:
HTTP/1.1 200 OK
content-type: text/html
connection: close
transfer-encoding: chunked
虽然我的标题是:
HTTP/1.1 200 OK
date: Mon, 11 Jun 2012 00:51:47 GMT
cache-control: public, max-age=31536000
last-modified: Sun, 10 Jun 2012 10:36:37 GMT
etag: "0-1339324597000"
content-type: application/octet-stream
accept-ranges: bytes
content-length: 0
connection: close
Edit2: 如果我明确抛出错误,看起来我会得到一个正确的错误页面。但是,如果没有错误,那么我的标题是错误的。
Edit3:*
或者可能是我的环境出现错误,示例应用程序不再运行,我得到了
Unexpected mongo exit code 127. Restarting.
Edit4:*
好的,所以 mongo 错误是无关的。我已经将问题追溯到 gzippo,特别是如果我注释掉:
app.use(gzippo.staticGzip(path.join(bundle_dir, 'static_cacheable'), {clientMaxAge: 1000 * 60 * 60 * 24 * 365}));
在 /usr/local/meteor/app/server/server.js
然后有一个 CLEAR 缓存(开始一个新的私人会话)它可以工作!如果我的缓存不清晰,仍然会提供一个空白文件。
因此,未创建 static_cacheable 目录,这就是 gzippo 提示空下载的原因。
我不确定这是否应该在流星的 server.js 或 bundler.js 中进行修补......要提交一个错误