Yeoman全栈生成器和Nodejitsu部署

时间:2014-10-13 13:18:25

标签: node.js angularjs gruntjs yeoman nodejitsu

我使用Daftmonk的Yeoman Full-stack generator作为我正在制作的应用程序的脚手架。我想使用Nodejitsu的nodejs服务运行它。但是当我部署时,我得到了一系列级联错误,甚至一旦错误在jitsu的cli中停止,该应用程序就无法部署并且找不到找到的文件。

我猜测错误即将发生,因为在我的本地主机上,Grunt正在将我的应用程序装入dist /文件夹中。而且我认为Nodejitsu无法解释这一点。

有没有人成功地在nodejitsu上部署了以这种方式使用Grunt的nodejs应用程序?对不起,如果这个问题含糊不清,我很乐意详细说明,但我迷路了!

1 个答案:

答案 0 :(得分:0)

我也和Angular Fullstack一起使用yeoman。这些工具如此接近工作但是离开了你,开发人员在部署时遇到了困难,这几乎很有趣。这实际上并不是一个答案。它更像是一个承认这个问题的支持性职位。这是我发现的。

  • Yeoman喜欢你运行咕噜咕噜的叫:dist来看看缩小的构造会是什么样子。这会将您的所有生产代码放入/ dist / public
  • Nodejitsu将在运行时运行节点server / app.js
  • 不幸的是,这使得nodejitsu在dist而不是dist / public中查找,因此无法找到文件

------请参阅下面的答案------

我一直在玩这个,事实证明,答案几乎太容易了,特别是对于nodejitsu。我将假设您已经安装了nodejitsu工具:

[sudo] npm install jitsu -g

我还假设您已按照此处所述注册:

https://www.nodejitsu.com/documentation/jitsu/

现在,它真的很容易。

  • 运行grunt。这将缩小和丑化您的代码。我有一些uglify的问题(​​很多人似乎都有),所以我把它添加到Gruntfile.js来修复这个问题。显然,js的结果更大,但头痛因素对我来说是值得的:

在initConfig部分中添加它(如果您收到与从浏览器控制台加载模块相关的错误,则只执行此步骤。)

// Uglify Exceptions uglify: { options: { mangle: false } },

运行grunt将所有内容放入/ dist / public。

现在

  • cd /dist
  • jitsu deploy

一切都很适合我。当你运行jitsu deploy时,这里的关键是在dist目录中。这样,它只会部署生产编译代码。