Ich habe eine einfache HTML-Seite mit winkeligen js wie folgt:
//Application name
var app = angular.module("myTmoApppdl", []);
app.controller("myCtrl", function ($scope) {
//Sample login function
$scope.signin = function () {
var formData =
{
email: $scope.email,
password: $scope.password
};
console.log("Form data is:" + JSON.stringify(formData));
};
});
HTML-Datei:
<html>
<head>
<link href="bootstrap.min.css" rel="stylesheet" type="text/css"/>
</head>
<body ng-app="myTmoApppdl" ng-controller="myCtrl">
<div class="container">
<div class="form-group">
<form class="form" role="form" method="post" ng-submit="signin()">
<div class="form-group col-md-6">
<label class="">Email address</label>
<input type="email" class="form-control" ng-model="email" id="exampleInputEmail2" placeholder="Email address" required>
</div>
<div class="form-group col-md-6">
<label class="">Password</label>
<input type="password" class="form-control" id="exampleInputPassword2" ng-model="password" placeholder="Password" required>
</div>
</form>
<button type="submit" class="btn btn-primary btn-block">Sign in</button>
</div>
</div>
</body>
<script src="angular.min.js" type="text/javascript"></script>
<!--User defined JS files-->
<script src="app.js" type="text/javascript"></script>
<script src="jsonParsingService.js" type="text/javascript"></script>
</html>
Ich bin neu bei Knoten js. Ich habe node js server in meinem System installiert, bin aber nicht sicher, wie eine einfache HTML-Datei mit Knoten js ausgeführt wird?
Sie können den eingebauten nodejs-Webserver verwenden.
Fügen Sie beispielsweise die Datei server.js
hinzu und geben Sie folgenden Code ein:
var http = require('http');
var fs = require('fs');
const PORT=8080;
fs.readFile('./index.html', function (err, html) {
if (err) throw err;
http.createServer(function(request, response) {
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
}).listen(PORT);
});
Und nach dem Start des Servers von der Konsole aus mit dem Befehl node server.js
. Ihre index.html-Seite wird unter URL http://localhost:8080
verfügbar sein.
Auch ich sah mich einem solchen Szenario gegenüber, in dem ich eine Web-App in nodejs ausführen musste, wobei index.html der Einstiegspunkt war. Folgendes habe ich getan:
node init
im Stammverzeichnis der App ausführen (dadurch wird eine package.json-Datei erstellt)npm install --save express
(Speichern aktualisiert package.json mit der Expressabhängigkeit).server.js
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public')); //__dir and not _dir
var port = 8000; // you can use any port
app.listen(port);
console.log('server on' + port);
do node server
: Es sollte "Server auf 8000" ausgegeben werden
start http: // localhost: 8000/ : Ihre index.html wird aufgerufen
Installieren Sie einfach http-server global
npm install -g http-server
wo immer Sie eine HTML-Datei ausführen müssen, führen Sie den Befehl http-server .__ aus. Beispiel: Ihre HTML-Datei befindet sich in /home/project/index.html.__ Sie können /home/project/$ http-server
Dadurch erhalten Sie einen Link zum Zugriff auf Ihre Webseiten: http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080
http://192.168.0.106:8080
Verschieben Sie Ihre HTML-Datei in einen Ordner "www". Erstellen Sie eine Datei "server.js" mit Code:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/www'));
app.listen('3000');
console.log('working on 3000');
Führen Sie nach dem Erstellen der Datei den Befehl "node server.js" aus.
Der mit Abstand einfachste Befehl:
npx http-server
Dies setzt eine vorhandene index.html in dem Verzeichnis voraus, in dem dieser Befehl ausgeführt wird.
Dies wurde bereits von Vijaya Simha erwähnt, aber ich dachte, ich würde es ein bisschen kürzen.
Dies ist eine einfache HTML-Datei "demo.htm", die im selben Ordner wie die Datei node.js gespeichert ist.
<!DOCTYPE html>
<html>
<body>
<h1>Heading</h1>
<p>Paragraph.</p>
</body>
</html>
Unten befindet sich die Datei node.js, um diese HTML-Datei aufzurufen.
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, resp){
// Print the name of the file for which request is made.
console.log("Request for demo file received.");
fs.readFile("Documents/nodejs/demo.html",function(error, data){
if (error) {
resp.writeHead(404);
resp.write('Contents you are looking for-not found');
resp.end();
} else {
resp.writeHead(200, {
'Content-Type': 'text/html'
});
resp.write(data.toString());
resp.end();
}
});
});
server.listen(8081, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8081/');
Öffnen Sie die obige nodejs-Datei in der Eingabeaufforderung und die Meldung "Server läuft unter http://127.0.0.1:8081/ " wird angezeigt. Jetzt in Ihrem Browser Typ " http://127.0.0.1:8081/demo.html ".
Entweder verwenden Sie ein Framework oder Sie schreiben Ihren eigenen Server mit nodejs.
Ein einfacher Dateiserver kann folgendermaßen aussehen:
import * as http from 'http';
import * as url from 'url';
import * as fs from 'fs';
import * as path from 'path';
var mimeTypes = {
"html": "text/html",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"png": "image/png",
"js": "text/javascript",
"css": "text/css"};
http.createServer((request, response)=>{
var pathname = url.parse(request.url).pathname;
var filename : string;
if(pathname === "/"){
filename = "index.html";
}
else
filename = path.join(process.cwd(), pathname);
try{
fs.accessSync(filename, fs.F_OK);
var fileStream = fs.createReadStream(filename);
var mimeType = mimeTypes[path.extname(filename).split(".")[1]];
response.writeHead(200, {'Content-Type':mimeType});
fileStream.pipe(response);
}
catch(e) {
console.log('File not exists: ' + filename);
response.writeHead(404, {'Content-Type': 'text/plain'});
response.write('404 Not Found\n');
response.end();
return;
}
return;
}
}).listen(5000);