J'ai une simple page html avec js angulaire comme suit:
//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));
};
});
Fichier HTML:
<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>
Je suis nouveau sur le noeud js. J'ai installé le serveur noeud js sur mon système mais je ne sais pas comment exécuter un simple fichier html à l'aide du noeud js?
Vous pouvez utiliser le serveur Web intégré de nodejs.
Ajoutez le fichier server.js
par exemple et mettez le code suivant:
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);
});
Et après le démarrage du serveur depuis la console avec la commande node server.js
. Votre page index.html sera disponible sur l'URL http://localhost:8080
J'ai moi aussi été confronté à un tel scénario dans lequel je devais exécuter une application Web dans nodejs avec index.html comme point d'entrée. Voici ce que j'ai fait:
node init
à la racine de l'application (cela créera un fichier package.json)npm install --save express
(save mettra à jour package.json avec une dépendance express)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);
node server
: il devrait générer "serveur sur 8000"
start http: // localhost: 8000/ : votre index.html sera appelé
Il suffit d'installer serveur http globalement
npm install -g http-server
si vous avez besoin d'exécuter un fichier HTML, exécutez la commande http-server Par exemple, votre fichier HTML se trouve dans /home/project/index.html.__ vous pouvez faire /home/project/$ http-server
Cela vous donnera un lien pour accéder à vos pages Web: http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080
http://192.168.0.106:8080
Déplacez votre fichier HTML dans un dossier "www". Créez un fichier "server.js" avec le code:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/www'));
app.listen('3000');
console.log('working on 3000');
Après la création du fichier, exécutez la commande "node server.js"
Ceci est un simple fichier html "demo.htm" stocké dans le même dossier que le fichier node.js.
<!DOCTYPE html>
<html>
<body>
<h1>Heading</h1>
<p>Paragraph.</p>
</body>
</html>
Ci-dessous se trouve le fichier node.js pour appeler ce fichier html.
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/');
Intégrez le fichier nodejs ci-dessus dans la commande Invite et le message "Le serveur fonctionnant à http://127.0.0.1:8081/ " s'affiche. Maintenant dans votre navigateur Tapez " http://127.0.0.1:8081/demo.html ".
Soit vous utilisez un framework, soit vous écrivez votre propre serveur avec nodejs.
Un serveur de fichiers simple peut ressembler à ceci:
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);