1つの記事でnodejsを使い始めましょう
この記事を読むことの前提は、jsの基本的な構文を理解していることです
。Nodejsはバックエンド用に生まれます。
簡単に言えば、Node.jsはサーバー上で実行されるJavaScriptです。
Node.jsは、ChromeJavaScriptランタイムに基づくプラットフォームです。
Node.jsは、イベント駆動型のI / Oサーバー側JavaScript環境です。GoogleのV8エンジンに基づいて、V8エンジンはJavascriptを非常に高速に実行し、非常に優れたパフォーマンスを発揮します。
利点
優れたパフォーマンスフロントエンドの場合、使いやすく
、公式Webサイト
https://nodejs.org/en/からダウンロードしてインストールします。
HelloWorldから開始
console.log("hello world");//保存为hello.js
実行:ノードhello.js
簡略化されたhttpサーバー
const http = require("http");
http.createServer(function(req,res){
//console.log(req.url);
// 根据请求的路径自己写路由分发请求,返回对应的内容
// 这要等后面学习了文件操作以后才可以实现
res.write('server response');
res.end();
}).listen(8080);
ファイル操作(読み取りと書き込み)
const fs = require("fs");
var path = __dirname +"/test.txt";
fs.readFile(path,function(err,data){
if(err){
console.log('读取失败');
}else{
console.log(data.toString());
}
});
fs.writeFile(path,"The words are writen by nodejs",function(err){
console.log(err);
});
ファイルの読み取りと書き込みを使用して、サーバーの指定されたページにアクセスします
const http = require("http");
const fs = require("fs");
http.createServer(function(req,res){
var baseDir = __dirname+'/www';//网站根目录
var file = baseDir+req.url;// 指定文件
//console.log(file);
fs.readFile(file,function(err,data){
if(err){
res.write('404');
}else{
res.write(data);
}
res.end();
});
}).listen(8080);
サーバーは、post get(querystring library url library)によって送信されたデータを受信します
取得データの受信:
const http = require("http");
const queryString = require("querystring");
const urlLib = require('url');
http.createServer(function(req,res){
var url = req.url;
// querystring解析get请求参数
/*
var GET = {};
if(url.indexOf('?')!=-1){
var qs = url.split('?');
GET = queryString.parse(qs[1]);
console.log(GET);
}
*/
// url库解析get请求参数
var obj = urlLib.parse(url,true);
console.log(obj);
res.write('aaa');
res.end();
}).listen(8080);
投稿データの受信:
const http = require("http");
const queryString = require("querystring");
http.createServer(function(req,res){
// 接收解析post数据
// 当有一段数据到达时触发,数据量大时会分多段传输,这里会被触发多次
var str = "";// 注意,字符串不能接收所有类型的post数据,比如当用户上传了一个文件时,就不能用字符串接收
var i=1;
req.on('data',function(data){
console.log(`第${i++}次接收数据`);
str += data;
});
// 当传输结束时触发,这里只会触发一次
req.on('end',function(){
var POST = queryString.parse(str);
console.log(POST);
});
res.write('aaa');
res.end();
}).listen(8080);
基本単位
システムモジュール
https://nodejs.org/dist/latest-v14.x/docs/api/
使用できるシステムモジュールは多数あり、詳細なドキュメントも利用できます。
カスタムモジュールモジュール
をカスタマイズするには、最初に3つのナレッジポイントを紹介し
ます。 :他のモジュールが含まれます。例:const http = require( "http");
ロード順序:システムモジュール> node_modules>他のパスのカスタムモジュール
exports:外部単一出力例:exports.a = 1;
モジュール:外部バッチ出力例:module.exports = {a:1、b:2}
npmパッケージマネージャー
機能:
統合されたダウンロードパス、
依存関係を自動的にダウンロードします。npm
自体をインストールします
。nodejsインストーラーは独自のnpmツールをもたらします。npmを
使用してパッケージをインストールします。npminstallパッケージ名例:npm install mysql
npmを使用してパッケージをアンインストールします:npm Uninstallパッケージ名の例:npm Uninstall mysql
自分自身を公開する方法パッケージをnpm公式Webサイトに公開する
最初に、npmコマンドに慣れてください。ドキュメントは次のとおりです:https://docs.npmjs.com/cli/v6/commands/
パッケージを公開するには、次の4つの手順が必要です。
- アカウントを登録します(アカウントをお持ちでない場合は、npm adduserを使用してコマンドラインで登録するか、公式Webサイトで登録できます)
- npm loginを使用して、コマンドラインでログインします
- パッケージ化してリリースする必要のあるディレクトリでnpminitを初期化します(ここでは、パッケージ名を含むいくつかの情報を書き込むように求められます。ここでは、パッケージのコンテンツに精通した後、packag.jsonを生成します。 json、手動で作成することもできますこのようなファイルの1つは、このステップの操作を置き換えます)
- 公開、npm公開
上記の4つの手順を実行すると、npm公式Webサイト(https://www.npmjs.com/)で公開されたばかりのパッケージを検索できます。
新しいバージョンを公開。
packag.jsonにバージョン番号を変更し、パブリッシュNPM再実行してください。
ユーザーはできるパッケージのバージョンを更新。
NPM更新パッケージ名