如何使用 MeanJS 启动 Cloud9 调试器

How to start the Cloud9 debugger with MeanJS

新手警告...

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

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

npm start

工作得很好...除了调试器没有附加并且我不能使用断点等。

我缺少什么魔法?

有点靠我自己想出来的(不,没用全部 2 天)。这里有详细的"whats up"供以后的新手无意中发现...

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

npm start

出于某种我还不清楚的原因,npm 调用了 package.json 中指定的 "start script" 路径... /scripts/start(以及其他一些东西...阅读手册)。

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

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

所以...

npm start

真的只是 运行宁...

的一种奇特方式
grunt

G运行t 是一个 "javascript task runner",它看起来像 运行s gruntfile.js 中的 javascript - 也由默认安装填充。

gruntfile.js 有这个条目:

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

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

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

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

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

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

那我就可以用这个调试了。它似乎工作正常,但此时只需几分钟。以这种方式启动应用程序似乎确实跳过了一堆东西……但调试器确实派上用场了。当我想调试时,我会尝试使用它。

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

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

发布后 2 小时编辑

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