次のようにangular jsのあるシンプルなhtmlページがあります。
//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ファイル:
<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>
ノードjsは初めてです。システムにノードjsサーバーをインストールしましたが、ノードjsを使用して簡単なhtmlファイルを実行する方法がわかりませんか?
組み込みのnodejs Webサーバーを使用できます。
たとえば、ファイルserver.js
を追加し、次のコードを追加します。
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);
});
コマンドnode server.js
を使用してコンソールからサーバーを起動した後。 index.htmlページはURL http://localhost:8080
で利用できます
http-serverをグローバルにインストールするだけです
npm install -g http-server
htmlファイルを実行する必要がある場合は、コマンドhttp-serverを実行します。例:htmlファイルは/home/project/index.htmlにあり、/home/project/$ http-server
ウェブページにアクセスするためのリンクが表示されます:http-server Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://192.168.0.106:8080
Index.htmlをエントリポイントとしてnodejsでWebアプリを実行する必要があるこのようなシナリオにも直面しました。これが私がしたことです:
node init
アプリのルートで(これによりpackage.jsonファイルが作成されます)npm install --save express
(saveはpackage.jsonを明示的な依存関係で更新します)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
:「8000のサーバー」を出力する必要があります
start http:// localhost:8000 / :index.htmlが呼び出されます
HTMLファイルをフォルダー「www」に移動します。コードでファイル「server.js」を作成します。
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/www'));
app.listen('3000');
console.log('working on 3000');
ファイルの作成後、コマンド「node server.js」を実行します
最も単純なコマンド:
npx http-server
これには、このコマンドを実行するディレクトリに既存のindex.htmlが必要です。
これは、ヴィジャヤ・シマによってすでに言及されましたが、私はそれを少し短くすると思いました。
これは、node.jsファイルと同じフォルダーに格納されている単純なhtmlファイル「demo.htm」です。
<!DOCTYPE html>
<html>
<body>
<h1>Heading</h1>
<p>Paragraph.</p>
</body>
</html>
以下は、このhtmlファイルを呼び出すnode.jsファイルです。
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/');
コマンドプロンプトで上記のnodejsファイルを開始すると、メッセージ「Server running at http://127.0.0.1:8081/ 」が表示されます。ブラウザに「 http:// 127.0.0.1:8081/demo.html "。
フレームワークを使用するか、nodejsを使用して独自のサーバーを作成します。
単純なファイルサーバーは次のようになります。
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);