gpt4 book ai didi

linux - Angular/快速托管

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:12 24 4
gpt4 key购买 nike

我想在 linux box 上运行 angular,而不需要 node 或 express。我创建了一个网站,但不确定是什么技术,哈哈。我假设我有一个使用快速服务器的简单 Web 服务器,请参见下面的代码。

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

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


app.listen(8080);
console.log('Magic happens on port 8080');

我使用 Node 服务器命令启动它。其余代码是angular-ui。

我是否需要使用 express(并将其托管在 Node 兼容的服务器上),或者我是否可以在没有 express 的 linux 机器上运行它?如果是这样,我是否需要用其他东西替换我的 server.js 文件(上面)?或者...目前它不能在 linux 机器上工作,但在本地工作得很好。

**编辑:我在我的共享服务器上测试了一个有 Angular 的“hello world”应用程序,它运行良好。当我在共享服务器上运行完整的 Angular 应用程序时,出现以下错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module routerApp due to:
Error: [$injector:nomod] Module 'routerApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

** 编辑:在回答下面@RobertMoskal 的问题时,在共享服务器上运行的 Angular hello world 测试基本上是这样的:

<input ng-model="name" type="text" placeholder="Type a name here">
<h1>Hello {{ name }}</h1>

真正的应用程序基本上是这样的,在 html 中使用 ui-view 和 ng-repeat:

var routerApp = angular.module('routerApp', ['ui.router']);

routerApp.config(function($stateProvider, $urlRouterProvider, $locationProvider) {

$urlRouterProvider.otherwise('/home');
$locationProvider.html5Mode(false).hashPrefix("");
$stateProvider


// HOME STATES AND NESTED VIEWS ========================================
.state('home', {
url: '/home',
templateUrl: 'partial-home.html',
// onEnter: scrollContent
})

// ANIMATION AND NESTED VIEWS ========================================
.state('animation', {
url: '/animation',
templateUrl: 'partial-anim.html',

controller: function($scope) {
$scope.animations = [
{ title:'One', url:'http://yahoo.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_1.jpg', paragraph:'some text of some description'},
{ title:'Two', url:'http://google.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_2.jpg', paragraph:'rabbit rabbit rabbit'},
{ title:'Three', url:'http://bambam.com', bg:'#f8f8f8', width:'160', height:'600', imageAsset:'assets/imgs/web/MyWebsites_3.jpg', paragraph:'blahiblahblah'}];
}
})


// GAME VIEWS ========================================
.state('game', {
url: '/game',
templateUrl: 'partial-game.html'
})


// CONTACT VIEWS ========================================
.state('contact', {
url: '/contact',
templateUrl: 'partial-contact.html'
})


});

最佳答案

您需要一些网络服务器来将您的 Angular 应用程序作为“静态” Assets 提供服务。这可以是 apache 或 nginx 或任意数量的网络服务器。大多数 Linux 发行版都可以轻松安装它们。

您还可以使用内置的 python 网络服务器实现超轻量级:

cd /var/www/
$ python -m SimpleHTTPServer

您甚至可以在 github 上免费托管您的应用程序。

在所有情况下,您只需要确保网络服务器从正确的路径为您的 Assets 提供服务。在上面的 python 示例示例中,您的应用程序入口点可能在/var/www/index.html 中,它将作为 http://localhost:8000/index.html 提供。 .

关于linux - Angular/快速托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30990136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com