如何使用MeanJS启动Cloud9调试器

时间:2015-05-11 21:20:36

标签: node.js cloud9-ide meanjs

新手警告......

我遵循了一个很好的教程(来自FreeCodeCamp)在Cloud9中设置一个新的Mean.JS堆栈。 https://vimeo.com/123488494

教程说通过运行命令来启动应用程序:

npm start

哪种方法很好......除了调试器没有附加,我不能使用断点等。

我错过了什么魔法?

1 个答案:

答案 0 :(得分:1)

我自己想出来的(不,它没有花费所有2天)。这是未来新手偶然发现的详细“最新消息”......

教程说使用npm命令启动应用程序:

npm start

由于某些原因尚不清楚,npm调用package.json中指定的“启动脚本”路径... / scripts / start(和其他一些东西......阅读手册)。< / p>

默认安装在脚本部分有这个:

   "scripts": {
      "start": "grunt",
      "test": "grunt test",
      "postinstall": "bower install --config.interactive=false"
   },

因此...

npm start

真的只是一种奇特的运行方式......

grunt

Grunt是一个“javascript任务运行器”,它看起来像是在gruntfile.js中运行javascript - 也是由默认安装填充的。

gruntfile.js有这个条目:

nodemon: {
    dev: {
        script: 'server.js',
        options: {
            nodeArgs: ['--debug'],
            ext: 'js,html',
            watch: watchFiles.serverViews.concat(watchFiles.serverJS)
        }
    }
},

在某些时候,grunt正在触发节点服务器启动命令,如输出消息所示:

[nodemon] starting `node --debug server.js`

...但是,由于某种原因,cloud9不尊重--debug请求......对于许多奇特的间接或其他东西。

所以我所做的是创建一个新的cloud9运行配置(运行(菜单)&gt;运行配置&gt;新运行配置):

Name: debug
Command: server   <<<  this just executes server.js
Runner: Node.js

然后我可以用它来调试。它似乎确实工作正常,但此时只需几分钟。通过这种方式启动应用程序似乎有一些东西被跳过了...但调试器肯定会派上用场。我想在调试时尝试使用它。

我喜欢学习新技术......希望它更快。

b.t.w。如果有人有更好的解决方案或更有经验的观点,我很乐意将答案标记为好的答案!

发布后2小时编辑

这种备用运行方法的另一个不错的副作用是运行时需要更少的内存!我不再收到警告消息,要求我升级我的宝贵的Cloud 9免费帐户。