使用Express

时间:2017-04-13 21:28:06

标签: angularjs express heroku

我是Angular的新手,我正在尝试托管我在Heroku上构建的一个小应用程序,我理解我需要一个网络服务器。我听说过Express,但从未使用过它。如果有人指出我需要添加到我的server.js文件中,以便我能够在Heroku上托管它;非常感谢!此外,如果有更好,更简单的解决方案,允许我的应用程序在Heroku上托管,请告诉我。

我的文件结构如下:

Project/

|-- components
    |-- project.controller.js
    |-- project.factory.js
|-- css
|   |-- style.css
|   |
|-- node_modules   
|
|-- scripts
|   |-- app.js
|
|
|-- index.html
|-- server.js
|-- package.json
|-- README

来自/scripts中我的app.js文件的非常简单的代码是:

(function() {



"use strict";

  angular
    .module('project', ['ngMaterial', 'firebase'])
    .config(function($mdThemingProvider) {
      $mdThemingProvider.theme('default')
        .primaryPalette('teal')
        .warnPalette('deep-orange')
        .accentPalette('indigo');
    });

})();

我从server.js文件到目前为止的代码是:

var express = require('express');
var app = express();

// app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res){
  res.redirect('/index.html');
});

var PORT = process.env.PORT || 8080;
app.listen(PORT);

我理解缺少的东西。我非常感谢帮助你解决这个问题。提前致谢!如果可能有所帮助,我很乐意分享更多代码。

1 个答案:

答案 0 :(得分:0)

您应该在start部分的scripts部分添加package.json,以便启动服务器。如果您不使用任何任务运行程序,例如gruntgulp,您将使用node命令启动服务器。对于下面的package.json检查示例。

<强>的package.json

{
    "name": "project",
    "version": "0.0.0",
    "description": "Project",
    "main": "index.js",
    "author": "userName",
    "license": "MIT",
    "scripts": {
        "start": "node ./server.js"
    },
    "dependencies": {
         "angular": "^1.6.1",
         "angular-animate": "^1.5.8",
         "angular-aria": "^1.5.8",
         "angular-material": "^0.11.4",
         "mdi": "^1.7.22",
         "express": "^4.15.0"
    }
}

现在,您将在项目的上下文中使用命令npm start通过命令提示符对此进行测试。如果服务器启动,那么您将尝试将您的应用程序部署到heroku。