ホームページ > 記事 > ウェブフロントエンド > nodejsをmysqlデータベースに接続する手順の詳細な説明
今回は、nodejs を mysql データベースに接続する手順について詳しく説明します。nodejs が mysql データベースに接続するための 注意事項 は何ですか?実際のケースを見てみましょう。
1. よく使用されるいくつかのグローバル変数1. filename
は現在のファイルのパスを取得します2. dirname
は現在のファイルのディレクトリを取得します。
process.cwd()
現在のプロジェクトのディレクトリを取得しますfilename
获取当前文件的路径
2、dirname
获取当前文件的目录
3、process.cwd()
获取当前工程的目录
二、文件的引入与导出
1、使用require
引入文件
2、使用module.exports
导出文件中指定的变量、方法、对象
三、node
项目的搭建目录结构
demo
package.json 当前项目所依赖的包或者模块
router 存放路由的文件
views 存放视图的模块
public 静态文件
module 书写模块比如数据库
app.js 主入口文件
四、将路由视图单独写在router
文件中demo
1、视图视图文件
const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { res.send("hello word"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;
2、在主文件中调用
'use strict'; const express = require("express"); const app = express(); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);
五、使用ejs
模板
1、需要安装但可以不引入
npm install ejs --save
2、在主文件中配置
//配置模板的文件路径 app.set("views",dirname+"/views"); //配置模板引擎 app.set("view engine","ejs");
3、使用
①、模板文件
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>我是模板渲染的</h1> </body> </html>
②、在路由中渲染模板
'use strict'; const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { //可以直接使用res.render("03_index"); res.render("03_index.ejs"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;
③、主文件
'use strict'; const express = require("express"); const app = express(); //配置模板的文件路径 app.set("views",dirname+"/views"); //配置模板引擎 app.set("view engine","ejs"); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);
六、关于ejs
模板文件的使用
1、返回数据
... let dataset = { name:"张三", age:20, books:['三国演义','西游记','红楼梦','水浒传'] } res.render("03_index.ejs",dataset); ...
2、普通的字段
<h2><%= name %></h2> <h2><%= age %></h2>
3、迭代数组
<ul> <% for(let i in books){%> <li><%= books[i] %></li> <%}%> </ul>
七、加载静态文件
1、主文件中配置
//设置静态文件的加载(js,css,img) app.use(express.static(dirname+"/public"));
2、在模板中使用
<link rel="stylesheet" href="./css/bootstrap.css" rel="external nofollow" > <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> <img src="./img/002.jpg"> ...
八、使用mysql
数据库
1、在module
中创建一个db.js
的文件
'use strict'; const mysql = require("mysql"); /** * 将整个方法全部暴漏出去 * @param sql sql语句 * @param arg 传递到sql语句中的参数,可以不写 * @param callback 回调函数,可以不写 */ module.exports = function (sql,arg,callback) { //1.创建连接(根据自己的数据库配置) let config = mysql.createConnection({ host:"localhost", //数据库的地址 user:"root", //数据库用户名 password:"root", //数据库密码 port:"3306", //mysql数据库的端口号 database:"mybatistest" //使用那个数据库 }); //2.开始连接数据库 config.connect(); //3.对数据库的增删改查操作 config.query(sql,arg,(err,data)=>{ callback && callback(err,data); }) //4.关闭数据库 config.end(); }
2、在router
视图中使用查询数据
①、引入文件
//引入数据库文件 const db = require("./../module/db");
②、视图中使用
router.get("/", (req, res) => { db("select * from m_dept",(err,data)=>{ console.log(data); res.render("03_index.ejs",{data:data}); }) });
3、新增数据
①、前端页面见代码案例
②、通过req.query
获取用户数据参数
router.get("/regist",(req, res)=>{ //获取到输入参数,前提是input上要写name console.log(req.query); db("insert into student(name,age) values(?,?)",[req.query.username,req.query.age],(err,data)=>{ console.log(data); if(data){ res.send("成功"); } }) })
九、关于node
返回json
2. ファイルのインポートとエクスポート
require
を使用します。ファイル2. module.exports
を使用して、ファイルで指定された変数、メソッド、オブジェクトをエクスポートします
package.json パッケージまたは現在のプロジェクトが依存するモジュール router
ルーティングを保存するファイル
router に別途ルーティングビューを記述する
🎜ファイル内🎜demo
🎜🎜1. ビューファイル🎜... res.json({ info:"成功", code:1 }); ...🎜を参照します。 2. メインファイル内で🎜rrreee🎜🎜🎜を呼び出します。 5. 🎜
ejs
を使用します。 >🎜テンプレート🎜🎜🎜🎜1. インストールする必要がありますが、🎜rrreee🎜をインポートできません2. メインファイルで🎜rrreee🎜を設定します3. 🎜🎜①、テンプレートファイル🎜rrreee🎜②を使用し、ルートでテンプレートをレンダリングします🎜 rrreee🎜③、メインファイル🎜rrreee🎜🎜🎜6. 🎜ejs
🎜テンプレートファイルの使用について🎜🎜🎜🎜1. 通常のフィールド🎜rrreee🎜3.配列 🎜rrreee🎜🎜🎜 7. 静的ファイル 🎜🎜🎜🎜 をロードします。 1. メイン ファイルで 🎜rrreee🎜 を設定します。 2. テンプレートで 🎜rrreee🎜🎜🎜 を使用します。 8. 🎜mysql
🎜 を使用します。データベース 🎜🎜🎜🎜1. module
に db.js
ファイルを作成します🎜rrreee🎜2. router
ビューでクエリ データを使用します🎜 ①、ファイル🎜rrreee🎜を導入し、🎜rrreee🎜3をビューで使用し、新しいデータを追加します🎜🎜①、フロントエンドページのコード例を参照してください🎜🎜②、reqを通じてユーザーデータパラメータを取得します。 query
🎜 rrreee🎜🎜🎜9. 🎜node
🎜が🎜json
を返す方法について🎜🎜🎜🎜🎜 フロントエンドとバックエンドの分離開発モデルでは、バックエンドによって返されるデータは通常 json であり、ejs テンプレート エンジンを使用する必要はありません 🎜rrreee🎜 この記事の事例を読んだ後は、この方法を習得したと思います。その他の関連記事は PHP 中国語 Web サイトにあります。 🎜🎜推奨読書: 🎜🎜🎜vueはstorejsによって取得されたデータを処理します🎜🎜🎜🎜🎜IPでアクセスできないローカル開発環境に対処する方法🎜🎜🎜🎜🎜p5.js_javascriptスキルを使用して花火の特殊効果を作成するためのサンプルコード🎜 🎜🎜以上がnodejsをmysqlデータベースに接続する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。