我是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);
我理解缺少的东西。我非常感谢帮助你解决这个问题。提前致谢!如果可能有所帮助,我很乐意分享更多代码。
答案 0 :(得分:0)
您应该在start
部分的scripts
部分添加package.json
,以便启动服务器。如果您不使用任何任务运行程序,例如grunt
或gulp
,您将使用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。