捆绑后的Meteor SyntaxError

时间:2013-06-19 08:25:02

标签: meteor

我的流星应用程序在本地运行。当我将其捆绑(使用meteor bundle myapp.tgz),将其上传到我的服务器上并启动它时,在Chrome控制台上打开页面时出现以下错误:

Uncaught SyntaxError: Unexpected token <

在Firefox控制台上:

SyntaxError: syntax error
[Break On This Error]   

<!DOCTYPE html>

为了尝试找到错误的来源,我使用了一个正在运行的旧捆绑包。我可以看到问题是找不到static_cachable中的文件。

  

Meteor仍在尝试使用旧捆绑包中的文件。

如果我将static_cachable中的新捆绑文件重命名为旧名称,则可行

我检查了bundle文件夹根目录所包含的所有文件,并且引用是正确的(它们指向新名称)。

在哪里有一些缓存可以保留对旧的static_caches文件的引用?

3 个答案:

答案 0 :(得分:1)

为避免错误,必须在部署后重新启动Meteor:

  1. rm -rf bundle
  2. tar -zxf myapp.tar.gz
  3. cd bundle / server / node_modules /
  4. rm -r fibers
  5. npm install fibers@1.0.0
  6. export PORT = 32632
  7. export MONGO_URL = mongodb:// meteor: ** @localhost:18700 / moviegrid
  8. export ROOT_URL ='mydomain.com'
  9. nohup node bundle / main.js&amp;

答案 1 :(得分:0)

在本地加载应用程序时查看javascript控制台并检查是否没有错误。如果有,请在捆绑/部署之前纠正它们。

答案 2 :(得分:0)

这可能不是您的问题,但根据http://docs.meteor.com/#deploying

  

目前,捆绑包只能在创建捆绑包的平台上运行。要在不同的平台上运行,您需要重建捆绑包中包含的本机包。为此,请确保您具有可用的npm,并运行以下命令:

     

$ cd bundle / server / node_modules

     

$ rm -r fibers

     

$ npm install fibers@1.0.0

考虑在您的服务器上安装meteor,克隆您的app目录并在目录中使用meteor run以查看该应用是否在服务器上进行开发。

如果它在开发中成功启动,则将其捆绑在服务器上并使用这些文件。或者只使用meteor --production

运行