1.http爬虫類は、HTTP Webサーバーは、フォアグラウンドを描画するためにデータを送信するために、中国の文字化け
HTTPモジュールデータ要求:要求ポストを得る
ケースを:バックエンドの爬虫類
プロセス:バックエンドのデータ要求- 「データ解析- 」データクレンジング- 「データの受信を送信します
2.http Webサーバは、レンダリングデータ受信送信
HTTPモジュールの導入1.
あなたはHTTPモジュール本体createServerこのAPIを経由してWebサーバを作成することができます。2.
3.ドメイン名とサーバーのポートを作成します
サーバー:
サーバーのウェブサイト(サイト)上で実行することができます
入力します。
- Webサーバ(静的サーバー)は、ブラウザサーバで実行することができます
- APIサーバー(バックエンドインターフェイス)データ要求のフロントエンドのために、データインターフェース言語の後端を暴露は(アヤックスFETCH)
ネイティブのWebサーバに作成Node.jsの
HTTPモジュール
createServer(コールバック)は、サーバを作成するには
三つのパラメータ応答要求をコールバックを受け取る
(聞きますポート、ホスト、コールバック)は、サーバ(サーバ・ステータス・フィードバック)を監視
ポートポートの
ホストドメイン名を
3.中国の歪みが
中国語歪みのNode.js
1セットリクエストヘッダ
response.writeHead(200 {である
;://小文字月UTF8「のcharset = UTF8テキスト/ HTML」「タイプのコンテンツ」
})
2.メタを送りますタグ
のResponse.Write( '')
3. toString() 在当前应用场景中还不行
二进制有效
将二进制 --- 》 string
名詞:チャンクはスライス
英語が呼び出され、「サーバー側のレンダリング」:「バックエンドのレンダリングを」としても知られている:私たちは、データをレンダリングする、このフォームは、私たちが呼ぶ前にHTMLを送ってきた「SSR」
-
モジュラーフロントエンド
質問:なぜあなたは、フロントエンドのモジュラーを使用しますか?
モジュラー:特定の機能を有するもの(広義)
定義されたプロセスモジュール:
1.定義モジュール(オブジェクト)
2.エクスポートモジュール
3.基準モジュール
利点:
-
あなたは、個々の複数の機能ブロックを格納することができます。
2. 复用性高
-
種
- AMD(require.js)
- CMD(sea.js)
- Common.js
-
モジュールのAMDの定義
定義
// AMD /* 目录 admDir a.js index.js */ // AMD定义 a.js define ({ a: 1, b: 2, add: function(){} }) // AMD引用 index.js require([./a.js],function( moduleA ){ //moduleA指的就是定义来的对象 })
-
CMD定義モジュール
定義
//CMD /* 目录结构 b.js index.js */ // 模块定义 b.js define(function(require, exports, module) { // 模块代码 }); //模块引用 index.js require('./b.js',function( moduleB ){ //moduleB就是b模块中导出的内容 })
一面の質問:CMD AMDの金
-
Common.js
Node.jsのは(なり)Common.js仕様を使用しています
当てにならないの理解:
ノードが×に属しcommon.js
ノードはcommon.js×所属します
//common.js /* 目录结构: name.js index.js */ //模块的定义 name.js const nameObj = { name: 'Gabriel Yan ' } //模块的导出 name.js module.exports = nameObj //模块的引用 const nameObj = require('./name.js')
使用中のNode.js Common.js仕様は、3つのタイプがあります。
-
内蔵モジュール(取り付けられた内蔵モジュールAPIのNode.jsグローバルオブジェクト本体を指します)
-
カスタムモジュール
-
モジュール定義
//举例 const student = { id: 1, name: 'Gabriel Yan' } const fn = function(){}
-
エクスポートモジュール
// 第一种导出 module.exports = student // 安全性不高 默认导出一个 //第二种导出 module.exports = { //批量导出,按需引用 student,fn }
-
リファレンスモジュール
// 这种引用对应第一种导出 const student = require('./xxx.js') // 这种引用对应第二种导出 const { student , fn } = require( './xxx.js ' )
注意:
書き込みパスを必要とする場合、カスタムモジュールの参照でなければなりません
-
-
サードパーティ製のモジュール
1. 别人已经封装好的模块 2. 这个模块具备一些特定的功能 3. 这些模块存放在 www.npmjs.com 这个网站中 这些模块的文档也记录在内 格式: var/let/const 变量名 = require( 模块名称 ) 总结: 第一步,使用npm/cnpm 安装 例: npm i request -D 第二部,在文件中引入 第三部,在www.npmjs.com这个网站中找到这个模块的文档,根据文档来使用
思考:私たちは、サードパーティのモジュールに、独自のカスタムモジュールをパッケージ化することができませんか?
分析:
サードパーティのモジュールは特徴があります。
- 特定の機能があります
。2.店舗で:http://www.npmjs.comで
ソリューション:アップロードカスタムモジュール(http://www.npmjs.com)
-
ファイルpackage.jsonを作成します。
$ npm init -y
-
このサイトhttp://www.npmjs.comのアカウントを登録します
注:最初の着陸着陸メールを活性化させる、その後、(これを手動で送信されます)あなたのメールボックスにメッセージを送信します
-
ソースコンピュータがソースNPMではありません確認してください
$ nrm ls
もしそうなら、それは気にしないだろう
そうでない場合には、ソースNPMに切り替え
-
コマンドラインでのログインnpmjs倉庫
$ npm adduser
-
モジュールおよびエクスポートモジュールを作成します。
-
あなたの名前は使用パッケージにすでにあるかどうかを確認
-
リリースパッケージ
$ npm publish
ポイントメッセージ:
- Eメールが活性化されていない(アップ)
- いいえハンドオーバ元のNPMありません
- NPMコンピュータ全体を使用することはできません
上記の方法では解決しない場合:
あなたはそれを試して誰か他の人のアカウントを使用します
-D === --save-devの
//举例
cnpm i jquery -D === cnpm i jquery --save-dev // 开发环境下使用
cnpm i jquery -S === cnpm i jquery --save // 生产环境下使用
クロスドメインのNode.js
クロスドメイン;
フロントクロスドメイン
JSONP
プロキシ(この要求データを作る私たちを助けるために、バックエンドサーバーを仮想バックエンドサーバーを作成する)リバース
バックエンドのクロスドメイン
ノードPHPのJava
-
設定要求ヘッダ
-
サードパーティ製のミドルウェアを使用した(CORS)
ミドルウェア:特定の関数の関数であります