自己道路はいつも一生懸命、彼らが近づくたびはとても幸せです。
前の記事元々自身のこと、それがバックグラウンド処理を行うために構築されたファイル・モジュールに来るが、後で名前ではないと感じ、背景コンテンツを書くために、次に再作成するファイルサーバ。
カタログは大体このようなものです、アイデアは次のとおりです。
APIファイルは、いくつかのインタフェース要求処理を置きます
SQLの内部には、いくつかのSQL文の実行を置きます
接続構成のサーバdb.jsを保存します
入り口はindex.jsです
だから、彼らの食事の操作を祝います
まず、データベースへの接続表現方法を確認するにはルーキーのチュートリアル:https://www.runoob.com/nodejs/nodejs-mysql.html
その後、SQL文を書く方法を参照するにはルーキーのチュートリアルで:https://www.runoob.com/mysql/mysql-insert-query.html
次に、どのように不機嫌パッケージの契約をすることができません。
誰もが、最終的には、単純なプロセス自身ティーチに本当にあまりにも困難ではありません。その後、再学習の最適化
追加されたユーザ・インターフェース・プロセスとクエリが難しく、満足のいく結果され作られた、私たちが遭遇したピットのプロセスについて話しましょう。
オンラインボディパーサーをフロントエンドコンテンツの提出に撮影することができますことを言ったが、どのように私必死操作か
CONST bodyParser =(「ボディパーサー」を必要)。 発現CONST =(「発現」が必要)。 CONSTアプリ = )(発現。 app.use(bodyParser.json())。 app.use(bodyParser.urlencoded({拡張:偽 }))。
その後、それは過去に提出されたデータに依存し、私が以前にバックグラウンドに提出のようには思えないことが判明しました。だから、フロントエンドが書かれているいくつかのヘッダーを見つけます
axios.defaults.headers.post [ "コンテンツタイプ"] = "アプリケーション/ JSON;のcharset = UTF-8";
容疑者は原因であるし、その上での中に置いてもよいです
axios.defaults.headers.post [ "コンテンツタイプ"] = "アプリケーション/ x-www-form-urlencodedで"。
ああ。その上で、案の定。まあ、道より問題よりも常にあります。各JSの内容を以下に添付
userApi.js
VARのモデル=( "../デシベル"が必要)。 VaRは発現=(「発現」が必要)。 VARルータ= express.Router(); VaRの MySQLは=( "mysqlの"必要)。 VAR $ SQL =必要( "../ SQL / SQLMAP" ); // 连接数据库 VAR CONN = mysql.createConnection(models.mysql)。 conn.connect(); VAR jsonWrite = 関数(RES、RET){ 場合(typeof演算 RET === "未定義" ){ res.json({ コード: "1" 、 MSG: " }); } 他{ データせ = {}; // eslintディセーブル-次ラインなし定条件 データ= { コード: 1000 、 MSG: "获取成功" 、 リスト:RET }。 res.json(データ)。 } }。 // 增加用户接口 router.post( "/アドユーザー"、(REQ、RES)=> { VAR SQL = $ sql.user.addUser; VARのparams = req.body; にconsole.log(paramsは) ; conn.query(SQL、[params.name、params.phone、params.passWord]、 にconsole.log(ERR)。関数( ERR、 結果 ){ 場合(ERR){ にconsole.log(ERR)。 } であれば(結果){ jsonWrite(RES、結果)。 } })。 }); // 查询用户接口 router.post( "/ユーザを選択"、(REQ、RES)=> { CONST SQL = $ sql.user.selectUser; // CONSTのparams = req.body; conn.query(SQL、関数(ERR、結果){ 場合(ERR){ } であれば(結果){ jsonWrite(RES、結果)。 } })。 }); module.exportsは =ルータ。
sqlMap.js
// SQL语句 VAR SQLMAP = { // 用户 ユーザ:{ アドユーザー: "(???)ユーザへの挿入(名前、電話番号、パスワード)値" 、 selectUser: "ユーザーSELECT * FROM" } }。 module.exportsは = SQLMAP。
db.js
module.exportsは= { MySQLの:{ ホスト: "ローカルホスト" 、 ユーザ: "ルート" 、 パスワード: "ルート" 、 データベース: "nodestady" 、 ポート: "3306" } }。
index.js
userApi =一定( "./ API / userApi"が必要です); // constの必要FS =( "FS"); // constの=パス( "パス")を必要とします。 CONST = bodyParser必要( "bodyParser" ); エクスプレスCONST =( "エクスプレス"が必要); constのアプリ = エクスプレス(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({拡張:falseに})); // 設定がクロスドメインを許可しますサービスへのアクセス。 app.all(「*」、関数(REQ、RES、NEXT){ res.header(「アクセス制御-許可原点」、「*」); // アクセス制御-許可-ヘッダ、行にここで、対応するペーストを、ブラウザを表示するには、F12に従って res.header( "アクセス制御-許可-ヘッダ"、 "Content-Typeの" ); res.header(「アクセス制御-許可-メソッド」、「*」); res.header( "コンテンツタイプ"、 "アプリケーション/ JSON;のcharset = UTF-8" )。 次(); }); // 后端API路由 app.use( "/ユーザ" 、userApi)。 // 监听端口 app.listen(3000 )。 console.log( "成功はポートで聞く:...... 3000");
ここでは、返された単純な要求を完了することができます。しかし、これはまだリリースをパッケージ化する方法を、どのように設計するか、データベースを要求し、対応するデータをパッケージ化する方法を考え、十分ではありません。。。。。。