如何将Yeoman应用程序推送到服务器

时间:2016-05-09 14:28:16

标签: javascript angularjs gruntjs yeoman yeoman-generator

我正在尝试将使用Yeoman's angular generator模板创建的项目推送到服务器。

这是我的项目 -

enter image description here

这是在我的app文件夹中 -

enter image description here

这是node-modules文件夹。出于某种原因,Yeoman安装了几个节点模块。我没有使用所有这些。

enter image description here

列表还在继续。这只是node-modules文件夹中的一小部分。

为了推送到服务器,我正在使用grunt build。这会生成一个dist文件夹,其中包含以下内容 -

enter image description here

但是当我导航到我的观看时(例如reset-password),我收到一个错误,指出此文件不可用。

我猜这是因为dist文件夹没有views文件夹的app文件夹。

我的最终要求是我想将此项目推送到服务器,以便任何人都可以访问它。我不想推送所有节点模块,因为我没有使用它们。

更新 -

这是dist / scripts / -

中的内容

enter image description here

script.2a4ac124.js文件中,我的所有视图都被引用,但是当我尝试导航到 - file:///Users/proj/Documents/sso/dist/reset-password时,我收到了一个找不到文件的错误,但是当我导航到file:/// Users / proj / Documents / sso / dist / index.html#/我看到index页面。

1 个答案:

答案 0 :(得分:2)

  1. 安装节点模块是正常的 - 它会安装开发依赖项,这些依赖项将用于Yeoman创建的grunt任务中。这么多的原因是因为dev依赖项有自己的依赖关系需要解决。

  2. 重置密码导航错误很可能是一些构建错误,但很难从描述中分辨出来。 Yeoman将视图文件转换为angularJS templateCache并将它们放入concat / uglified js文件(通常是app-.js文件)。首先看看他们是否在那里。如果他们不是,则视图文件无法构建。如果他们在那里,可能是模板被错误地缓存了,或者它也可能是完全不同的东西。

  3. 要部署应用程序,只需将dist文件夹的内容复制到您部署的任何位置即可。您不需要node_modules,因为它们仅用于执行dev。任务。

  4. 此外,

    您的屏幕截图显示了应用根目录下的SignUpCtrl.js文件。 Yeoman脚手架,无论您使用哪种脚手架,通常都没有设计为在app根目录下有脚本文件。首先尝试将其放回脚本文件中。