同期式 非同期式 ファイルの作成 テキストの書き込み フォルダの作成
1.var fs = require('fs')// fs file ファイルシステム システムファイル オペレーティングシステム
// Synchrouons
// Asyhchrouons
// 同期:実行するタスクが複数ある場合、前のタスクが実行されるまで次のタスクを開くことはできない。
// 非同期: 前のタスクが終了していなくても、次のタスクが引き続き実行できる。
同期非同期書き込み
// パラメーター1:パス
// パラメータ2:書き込むデータ
// パラメータ 3: コールバック関数 Error エラー
//同期書き込み
fs.writeFileSync('./バトルクリプト.txt',' ',function(err){
if(err){
console.log(err)
}else{
console.log(' ')
}
})
//非同期書き込み
fs.writeFile('決闘大陸(DLC)',' ',function(err){
if(err){
console.log(err)
}else{
console.log(' ')
}
})
exists は、指定されたフォルダが存在するかどうかを判定します。
fs.exists('フォルダ名','現在のフォルダが存在するかどうか Boolean型')
fs.mkdirSync('public')//共通フォルダ
fs.exists('public',function(isExists){
//存在しない場合
if(!isExists){
//フォルダを作成する
fs.mkdirSync('public');
}
})
ファイルの同期非同期読み込み
//同期読み込み
var data =fs.readFileSync('./バトルクリプト.txt')
console.log(data.toString());
//非同期読み込み
fs.readFile('./決闘大陸(DLC)',function(err,data){
if(err){
console.log(err)
}else{
console.log(data.toString())
}
})
パラメータを同期して読み込む
1.ファイルパス return ファイルの内容 toString() 文字列に変換する
パラメータを非同期で読み込む
1.ファイルパス
2.コールバック関数
2.1 err
2.2ファイルの内容
ファイルを書き込みます。
// そのようなファイルがなければ、自動的に作成され、書き込まれる。
// このファイルがあれば、中身を直接上書きできる。
// fs.writeFile('決闘大陸(DLC)','100,000BeastsSoul1111',function(err){
// if(err){
// console.log(err)
// }else{
// console.log(' ' )
// }
// })
//新しいデータを追加する
fs.appendFile('./決闘大陸(DLC)','
',function(err){
if(err){
console.log(err)
}else{
console.log(' ')
}
})
fs.appendFile()
1.ファイルパス
2.テキストを書き込む
3.err;
エクスプレスモジュール、フロントエンドとバックエンドのインタラクション
npm init プロジェクトの初期化
main属性の値はサーバーの名前である。
フロントエンドのファイル作成、バックエンドのajaxリクエスト
<button onclick="sendPost()"> </button>
<script>
function sendPost() {
var xhr = new XMLHttpRequest();
xhr.open('POST', './postInfo');
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.onreadystatechange=function () {
if (xhr.readyState == 0) {
console.log('openメソッドは呼び出されたが、sendは呼び出されていない。')
}
if (xhr.readyState == 1) {
console.log('sendメソッドが呼び出されたが、サーバーは応答していない。')
}
if (xhr.readyState == 2) {
console.log('サーバーが応答を開始し、データを返す準備ができた。')
}
if (xhr.readyState == 3) {
console.log('サーバーがデータを返した')
}
if (xhr.readyState == 4) {
console.log('サーバーはすべてのデータを返す')
console.log(xhr.response)
}
}
xhr.send('age=17&fond= ')
}
</script>
、サーバーserver.jsを作成し、特にpackage.jsonを見て主な属性を確認します。
モジュール npm install express module ここで express モジュールをダウンロードします。
server.jsサーバーを書き込みます。
var express = require('express')
//リクエストを送信する post リクエストなので、body-parser モジュールも必要。
// bodyボディパーサーを解析する
// postリクエストのリクエストボディパラメータを解析する。
var bodyParser = require('body-parser')
//expressオブジェクトを取得する
var app = express()//httpモジュールのアプリに相当する。.createServer();
//フロントエンドのコードフォルダを取得する // 現在のアプリケーションに静的リソースフォルダを使用させる public
app.use(express.static('public'))
// url encoded エンコード デコード デコード
// bodyparserを使用して、エンコードされたurlを処理する 拡張url拡張を許可するかどうかを拡張する
//extendedurlの拡張子を許可するかどうか 文字列の場合はfalse 配列など他の型の場合はtrueにする。;
app.use(bodyParser.urlencoded({extended:false}))
//フロントエンドのリクエストを取得する
app.post('postInfo',function(req,res){
//フロントエンドのパラメータを解析する
var age = req.body.age;
var fond = req.body.fond;
//フロントエンドに送信する
res.send(' '+age+' '+',次のように入力する。'+fond)
})
//リッスンするポートを設定する
app.listen('8080',function(){
console.log('8080// を開始する。......')
})
server.jsサーバーを書き込む。
1.expressモジュールを作成する
var express = require('express')
2.body-parserパーサーモジュールを作成する。
var bodyParser = require('body-parser')
3.expressオブジェクトを作成 これでサーバーを作成することが理解できた;
var app = express()//httpモジュールのアプリに相当する。.createServer();
4//フロントエンドのコードフォルダを取得する。
app.use(express.static('public'))
5.bodyparserを使って、エンコードされたurlを処理する。
extendedurlの拡張子を許可するかどうか 文字列の場合はfalse 配列など他の型の場合はtrueにする。;
app.use(bodyParser.urlencoded({extended:false}))
6.//フロントエンドのリクエストを取得する
サーバーへのパラメータ・パス; req フロントエンドのパラメータが指定され、res データ・レスポンス・オブジェクトが指定される。
req.body.ageパラメータを解析する
res.send() をフロントエンドの戻り値に書き込む
app.post('postInfo',function(req,res){
//フロントエンドのパラメータを解析する
var age = req.body.age;
var fond = req.body.fond;
//フロントエンドに送信する
res.send(' '+age+' '+',次のように入力する。'+fond)
})
//リッスンするポートを設定する
app.listen('8080',function(){
console.log('8080// を開始する。......')
})