Technology sharing

Exercere interretialem ante-finem et finem evolutionis in aestivis vacationibus - notis

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

(Maxime ante-finem progressionis, non fine posteriori. Fac me primum inducere consilium instrumentum ante-finem et finem retro)

1. Install ac currunt project MoreMall

1.Introduction ad project MoreMall

Ante-finis et posterior finis inter se inter se cohaerent, ante-finem: client, posteriori-end: server;

2.Environment setup


1) Instrue Node.js: Node.js est aJavaScript runtime environment ad aedificandas applicationes servo laterali. Download and install the appropriate version of Node.js in rutrum [Node.js](https://nodejs.org/). Ambitus conformatio nodi.js complexus est relative.

II) install mysql
3) clientelas instrue: Curre `npm install` in indice radicis propositi, quod eritFasciculus `package.json` installat omnes clientelas ad res quae requiruntur.

(MySQL):https://blog.csdn.net/chuci0910/article/details/138770174
NodeJs):https://zhuanlan.zhihu.com/p/686043568

2. crea in Vue project

1. crea in project per Vue CLI

1) Instrue et crea project vue: novum folder ut lima exertus - cmd in indice tabella - `vue creare meum-project`
2) Directorium Project structura: `src` directorium subdirectorias continet ut `components` et `sententias`, quae ad componentes et paginas reponunt.

3) in*<template>Scribere data in scriptor
- **Define data**: in Vue component` <script>`部分定义数据,通过`data`函数返回数据对象。
- **Display data**: in Vue component`<template> Usus partialis interpolationis expressions`{{ }}` vel mandare `v-bind` etc. ad ostentationem data.

Exemplum: component-foo.vue

  1. <template>
  2. <div>{{msg}}</div>
  3. </template>
  4. <script>
  5. export default{
  6. name:'foo',
  7. data(){
  8. return{
  9. msg:'foo page'
  10. }
  11. }
  12. }
  13. </script>
  14. <style>
  15. </style>

3. Install ac uti vue-iter

Ostensum est hic documentum routetest

1. Install vue-iter


1) Installation: cmd sub indicis documenti documenti ubi hanc rem addere vis - `npm vue-router` install
2) Configure fundere: Configure fundere praecepta in `src/router/index.js` ad describendas vias diversas ad diversas partes.

Exemplum:

Codex in fasciculo src/iter/index.js:

  1. import { createRouter, createWebHistory } from 'vue-router';
  2. import Home from '../components/Home.vue'; // 示例组件路径,请根据实际情况调整
  3. import Bar from '../components/Bar.vue'; // 示例组件路径,请根据实际情况调整
  4. import Foo from '../components/Foo.vue'; // 示例组件路径,请根据实际情况调整
  5. const routes = [
  6. {
  7. path: '/',
  8. name: 'Home',
  9. component: Home
  10. },
  11. {
  12. path: '/bar',
  13. name: 'Bar',
  14. component: Bar
  15. },
  16. {
  17. path: '/foo',
  18. name: 'Foo',
  19. component: Foo
  20. }
  21. // 其他路由配置
  22. ];
  23. const router = createRouter({
  24. history: createWebHistory(process.env.BASE_URL),
  25. routes
  26. });
  27. export default router;

III) usus<router-link>et<router-view>
<router-link>: navigationis nexus creandi usi sunt, qui ad paginas strepitando aptandas impelli possunt.
<router-view>: ostentare solebat excitandas partes matched.

Exemplum: App.vue:

  1. <template>
  2. <div id="app">
  3. <router-link to="/bar">Bar</router-link>|
  4. <router-link to="/foo">Foo</router-link>
  5. <router-view></router-view> <!-- 确保包含这个标签 -->
  6. </div>
  7. </template>

Page ostentationem: (portum numerus attende)

Preme talea: Cur ergo numerus portus meus appellatur '/bar'?

Quia meministi ubi configuratur iter, quod est via. .

Cur click ut salire - ob id<router-link> ,et<router-view> Munus specifica in pagina postea dicetur.

4. Fac primum elementum plus applet

1. utere iter + elementum plus supra

element-plus intelligi potest series fasciculorum sarcinatorum pro pagina ante-finem reddens (involucrum universale hoc modo intelligi potest, programmatores programmatores non sunt, ianitores sarcinae iusti sumus)

2. Quomodo uti eorum pars codice

Click in rutrumOverview Component Overview | .

 

3.Install elementum plus


1) Installation: cmd-`npm elementum plus` institue-in fasciculo documenti uti vis.
2) Introducere elementum-plus: elementum plus quam style lima in `main.js` . produc

  1. import ElementPlus from 'element-plus'//引入elementplus
  2. import 'element-plus/dist/index.css'//引入elementplus样式文件


3) Utere componentibus: Elementum Plus UI utere componentibus in Vue partibus, ut `<el-button> `, `<el-input> `Exspecta.

Exemplum: App.vue, usquam, cum<el->Initium est

  1. <template>
  2. <el-container class="layout-container-demo" style="height: 500px">
  3. <el-aside width="200px">
  4. <el-scrollbar>
  5. <el-menu :default-openeds="['1', '3']">
  6. <el-sub-menu index="1">
  7. <template #title>
  8. <el-icon><Message /></el-icon>Navigator One
  9. </template>
  10. <el-menu-item-group>
  11. <template #title>Group 1</template>
  12. <el-menu-item index="1-1">
  13. <router-link to="/optionOne">Option 1</router-link>
  14. </el-menu-item>
  15. <el-menu-item index="1-2">
  16. <router-link to="/optionTwo">Option 2</router-link>
  17. </el-menu-item>
  18. </el-menu-item-group>
  19. <el-menu-item-group title="Group 2">
  20. <el-menu-item index="1-3">
  21. <router-link to="/optionThree">Option 3</router-link>
  22. </el-menu-item>
  23. </el-menu-item-group>
  24. <el-sub-menu index="1-4">
  25. <template #title>Option4</template>
  26. <el-menu-item index="1-4-1">Option 4-1
  27. <router-link to="/optionFour">Option4</router-link>
  28. </el-menu-item>
  29. </el-sub-menu>
  30. </el-sub-menu>
  31. <el-sub-menu index="2">
  32. <template #title>
  33. <el-icon><icon-menu /></el-icon>Navigator Two
  34. </template>
  35. <el-menu-item-group>
  36. <template #title>Group 1</template>
  37. <el-menu-item index="2-1">Option 1</el-menu-item>
  38. <el-menu-item index="2-2">Option 2</el-menu-item>
  39. </el-menu-item-group>
  40. <el-menu-item-group title="Group 2">
  41. <el-menu-item index="2-3">Option 3</el-menu-item>
  42. </el-menu-item-group>
  43. <el-sub-menu index="2-4">
  44. <template #title>Option 4</template>
  45. <el-menu-item index="2-4-1">Option 4-1</el-menu-item>
  46. </el-sub-menu>
  47. </el-sub-menu>
  48. <el-sub-menu index="3">
  49. <template #title>
  50. <el-icon><setting /></el-icon>Navigator Three
  51. </template>
  52. <el-menu-item-group>
  53. <template #title>Group 1</template>
  54. <el-menu-item index="3-1">Option 1</el-menu-item>
  55. <el-menu-item index="3-2">Option 2</el-menu-item>
  56. </el-menu-item-group>
  57. <el-menu-item-group title="Group 2">
  58. <el-menu-item index="3-3">Option 3</el-menu-item>
  59. </el-menu-item-group>
  60. <el-sub-menu index="3-4">
  61. <template #title>Option 4</template>
  62. <el-menu-item index="3-4-1">Option 4-1</el-menu-item>
  63. </el-sub-menu>
  64. </el-sub-menu>
  65. </el-menu>
  66. </el-scrollbar>
  67. </el-aside>
  68. <el-container>
  69. <el-header style="text-align: right; font-size: 12px">
  70. <div class="toolbar">
  71. <el-dropdown>
  72. <el-icon style="margin-right: 8px; margin-top: 1px">
  73. <setting />
  74. </el-icon>
  75. <template #dropdown>
  76. <el-dropdown-menu>
  77. <el-dropdown-item>View</el-dropdown-item>
  78. <el-dropdown-item>Add</el-dropdown-item>
  79. <el-dropdown-item>Delete</el-dropdown-item>
  80. </el-dropdown-menu>
  81. </template>
  82. </el-dropdown>
  83. <span>Tom</span>
  84. </div>
  85. </el-header>
  86. <el-main>
  87. <el-scrollbar>
  88. <router-view></router-view>
  89. </el-scrollbar>
  90. </el-main>
  91. </el-container>
  92. </el-container>
  93. </template>

IV) Explica hic<router-view> effectus;

Vides ubi '3' in imagine supra ivimus postquam positionem ejus accommodavi. Intellectus placeholder.

  1. <el-main>
  2. <el-scrollbar>
  3. </el-scrollbar>
  4. </el-main>
  5. </el-container>
  6. </el-container>
  7. <router-view></router-view>
  8. </template>

4. Page jump hic quoque impletur, quomodo


1) Configuratione routing: Configure fundere in `src/iter/index.js`, unaquaeque via respondet componenti.

Exemplum: Viam, si semita est '/', significat primam paginam quae in hoc est.

Non videtur dicere quomodo project: cmd-npm currere serve in directorio documenti documenti

  1. import{createRouter,createWebHistory} from 'vue-router';//导入外部组件,声明vue路由
  2. import HelloWorld from '../components/HelloWorld.vue';
  3. import OptionOne from '../components/OptionOne.vue';
  4. import OptionTwo from '../components/OptionTwo.vue';
  5. import OptionThree from '../components/OptionThree.vue';
  6. import OptionFour from '../components/OptionFour.vue';
  7. const routes=[//路由器配置
  8. {
  9. path:'/',//这样的话就最先进入的是helloworld页面了
  10. name:'HelloWorld',
  11. component:HelloWorld
  12. },
  13. {
  14. path:'/optionOne',
  15. name:'OptionOne',
  16. component:OptionOne
  17. },
  18. {
  19. path:'/optionTwo',
  20. name:'OptionTwo',
  21. component:OptionTwo
  22. },
  23. {
  24. path:'/optionThree',
  25. name:'OptionThree',
  26. component:OptionThree
  27. },
  28. {
  29. path:'/optionFour',
  30. name:'OptionFour',
  31. component:OptionFour
  32. }
  33. ];
  34. const router=createRouter({
  35. history: createWebHistory(process.env.Base_URL),
  36. routes
  37. });
  38. export default router;


2) Nexus navigationis: uti `<router-link> `Coniunctionem navigationis fac, preme illam ut salire ad paginam respondentem, use`<router-view> `Explica excitandis components.

  1. <el-menu-item index="1-3">
  2. <router-link to="/optionThree">Option 3</router-link>
  3. </el-menu-item>

5. Usus coniunctus Vue-iter, elementum plus et axios

1. axios install

1) Idem ut supra, institutionem mandatum: `npm axios` . install
2) Axios configurare: Configure axios in `main.js', pone defaltam baseURL et alias figuras globales.

2. Implement ante-finem ac tergum-finis mini programs


- **Definitio interfaciei: Definire API interfaciei in servo lateris, processus frontis finis postulatio, et notitia reditus.
- Ante-finem datae petitionis **: Axios utere in parte anteriori-finis ut petitionem mittat, notitias obtineat et in pagina exhibeas.
- **Dynamica Data Switching**: Miscere Elementum Plus components et Vue Router ut animadverto dynamicam datam mutandi menu, ut propono diversas contentos secundum diversas tabulas.

Imprimis gradus:
I) axios crea instantia et configurare;

  1. import axios from 'axios';
  2. // 创建一个 axios 实例
  3. const http = axios.create({
  4. baseURL: 'http://localhost:3000/',
  5. // 其他配置...
  6. });
  7. // 创建一个 Vue 应用
  8. const app = createApp(App);
  9. // 将 axios 实例添加到 Vue 应用的原型上
  10. app.config.globalProperties.$http = http;
  11. // 挂载 Vue 应用
  12. app.mount('#app');

2) Axios utere in Vue componente ad petitionem mittendi:
  

  1. <script>
  2. const tableData = [];
  3. export default {
  4. name: 'HelloWorld',
  5. created() {
  6. this.getUserList();
  7. },
  8. data() {
  9. return {
  10. // 假设我们从API获取的是一个用户列表
  11. tableData
  12. };
  13. },
  14. methods: {
  15. getUserList() {
  16. this.$http.get('/').then(response => {
  17. console.log(response.data)
  18. this.tableData = response.data;
  19. })
  20. .catch(error => {
  21. console.log(error)
  22. });
  23. }
  24. }
  25. }
  26. </script>

3) Miscere Elementum Plus et Vue Router ad tabulam dynamicam efficiendam: Ut antea dictum est.

3. axios quid facit?

Axios est promissio HTTP clientis pro petitionibus HTTP in navigatoribus et in ambitus Node.js. Permittit tibi postulationes asynchronas commodius mittere ac responsionis notitia processus. In project Vue.js, Axios uti potes ad communicandum cum API fine posteriori, ut obtinens notitias, mittens formas datas, fasciculos fasciculos processus, aliasque operationes. axios simplex API praebet, quod postulatio et responsio interceptoribus subsidia, postulationem tabularum, configurationem globalem et alia munera, data commercio inter frontem et retro finem efficiens efficacius et moderatior.

1) Primum addere src/server/index.js fundatur in priori consilio ut sequitur

  1. const express = require('express');
  2. const app = express();
  3. const port = 3000; // 你可以选择任何未被占用的端口
  4. // 设置中间件以允许跨域请求(可选,根据你的需求)
  5. app.use((req, res, next) => {
  6. res.header("Access-Control-Allow-Origin", "*");
  7. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  8. next();
  9. });
  10. // 设置路由和响应
  11. app.get('/', (req, res) => {
  12. // 创建一个对象,其中包含你想要返回的数据
  13. const data = [
  14. { id: 1, name: 'Alice', age:18, email: '[email protected]' },
  15. { id: 2, name: 'Bob', age:19, email: '[email protected]' },
  16. // ...更多用户
  17. ];
  18. // 使用res.json()方法发送JSON响应
  19. res.json(data);
  20. });
  21. // 启动服务器
  22. app.listen(port, () => {
  23. console.log(`Server is running on http://localhost:${port}`);
  24. });

Descriptio huius codicis:

Hoc codice PRAECISIO Node.js utitur et compage expressa ut servi simplex creet. Hic linea est explicatio codicis:

1. ** Express moduli et crea applicationem exempli importare **;
``javascript
const express = require('express');
const app = express();
   ```

- `express` est compages applicationum ad structuram interretialem. Hic importatur `per `exprimere') et applicatio instantia per `expressum' creata est.

2. ** Pone portum audire servo **;
``javascript
const port = 3000;
   ```

- Port` variabilis numerus portum definit quem ministrans auscultat, hic ad `3000` constituitur.

3. Middleware occasus qui crucis-domain petitiones admittunt;
``javascript
app.use((req, res, next) =&gt; {
res.header("Access-Control-Permitte Origin", "*");
res.header("Access-Control-Permitte Capitis", "Origini, X-Requisita Cum, Content-Type, Accipe");
deinde();
   });  
   ```

— Hoc signum mediiware ponit ut petitiones crucis originis (CORS). Petitiones ab omni origine concedit et certos titulos agros concedit. Munus `proxum' efficit ut petitio pergat ad tractatorem proximum seu meatus.

4. ** Definire vias et responsiones;
``javascript
app.get('/', (req, res) =&gt; {
// crea objectum continet in notitia vis redire
Const data = [
{ id: 1, nomen: 'Alicia', age:18, email: '[email protected]' },
{ id: 2, nomen: 'Bob', age:19, email: '[email protected]' },
// ... more users
     ];  
     
// usus res.json () modum responsionis mittendi JSON
res.json(data);
   });  
   ```

- `app.get('/', ...) `iter definit petitiones GET. Cum client radix semita `/` accesserit, hoc munus tracto vocabitur.
- Tractus munus obiecti `data` continens notitia utentis creat et ad clientem redit ut responsio `res.json'.

5. Incipit servo**;
``javascript
app.listen(port, () =&gt; {
console.log( `Servus currit in http://localhost:${port}`);
   });  
   ```

- `app.listen(portum, ...)` servo incipit et in portu definito auscultat.
- Cum servo prospere incipit, nuntium ad consolatorium output est significans servo currit et per `http://localhost:3000` pervia esse.

Summarium: Hoc signum PRAECISIO simplex Express servo creat qui petitiones ad radicem viae `/` GET' respondet et reddit responsionem JSON continens notitia usoris. Medium etiam constituitur ut petitiones crucis-dominae permittant. Hoc servo currendo in portum `3000`, navigatro vel alio HTTP cliente uti potes ad accessum `http://localhost:3000`, et exploratum redditum JSON datae.

2) Curre

cmd-nodi index.js in calculonis servi file directory

Videre background notitia

Tunc currite cmd-npm currite serve in directorio documenti documenti, et videre potes quod data sit! !

Quomodo notitia tergum administrare?

Modo in novo addito servo/index.js tabella:

  1. // 设置路由和响应
  2. app.get('/', (req, res) => {
  3. // 创建一个对象,其中包含你想要返回的数据
  4. const data = [
  5. { id: 1, name: 'Alice', age:18, email: '[email protected]' },
  6. { id: 2, name: 'Bob', age:19, email: '[email protected]' },
  7. // ...更多用户
  8. ];

Ex sex et quinque, plus in backend

Quomodo quinque incepta currere una cum in extremo primi propositi MoreMall est fronti et posteriori fines coniungere.

1. duo facite

1)mysql.sql

  1. create database test;
  2. use test;
  3. CREATE TABLE user (
  4. id INT AUTO_INCREMENT PRIMARY KEY,
  5. name VARCHAR(255) NOT NULL,
  6. password VARCHAR(255) NOT NULL,
  7. age VARCHAR(255) NOT NULL,
  8. email VARCHAR(255) NOT NULL
  9. );
  10. INSERT INTO user (name, password,age,email) VALUES ('Bob', '123','23','[email protected]');
  11. INSERT INTO user (name, password,age,email) VALUES ('Tom', '123','23','[email protected]');

2)servo

Sub lima pone, sed etiam parari potest. Praecedam eam quam ego non delevi. Alioqui, npm currendum inservire potest etiam in diversis directoriis fasciculi.

Duo files sub servo:

1)db.js

  1. let mysql = require('mysql')
  2. //配置链接数据库的参数
  3. let db = mysql.createPool({
  4. host: '127.0.0.1',
  5. user: 'root',
  6. port:'3306',
  7. password: 'root',
  8. database: 'test'
  9. })
  10. module.exports = db

illustrare;

Propositum huius codicis est uti Node.js et `mysql` modulus ad nexum piscinae ad MySQL database creandum et ad usum in aliis modulis educendum.

Ratio certa est haec:

1. **Import `mysql` modulus;
``javascript
mysql = require('mysql');
   ```
Haec linea codicis importat modulum `mysql`, quod est Node.js bibliotheca ad coniungere et operari MySQL databases.

2. ** nexum piscinam crea **;
``javascript
sit db = mysql.createPool({
exercitum: '127.0.0.1';
user: 'radix';
portum: '3306';
tesserae: 'root';
database: 'test'
   });
   ```
In hoc codice nexum piscinae modum `mysql.createPool` utens. Connexio piscina copia est nexus datorum qui a pluribus clientibus communicari et reddi possunt. Connexionem piscinam creare potest ad meliorem perfectionem faciendam quia vitat nexum datorum cum omni petitione restaurandum.

- `hospes:' 127.0.0.1': Oratio exercitus datorum. Hic est cultor loci.
- `usor: 'root'`: nomen usoris database.
- `portus: '3306'`: Portus numerus Lat. Portus pro MySQL default est MMMCCCVI.
- `password: 'root'`: tessera datorum.
- `database: 'test'`: Nomen datorum ad connexum.

3. Export nexum lacus;
``javascript
module.exports = db;
   ```
Haec linea codicis exportat nexum objecti piscinae `db` ut alii moduli importare possint et hac connexione uti piscinam per modum `require`.

Hoc nexu piscinam utens, eam in aliis modulis inducere potes et ea uti ad quaestiones datorum perficiendas. Exempli gratia:

``javascript
// produc database nexu piscinam
const db = require('./path/to/this/module');

// Exigite database query
db.query('SELECT * FROM user', (err, results) =&gt; {
if (errant) {
console.error('Error interrogationem implens:', err);
remittere;
    }
console.log('Quaery results:', results);
});
```

Haec methodus facilem facit nexus datorum administrandi et utendi, praesertim in applicationibus quae frequentem aditum datorum requirunt.

2)index.js

  1. const express = require('express');
  2. const app = express();
  3. const port = 3000; // 你可以选择任何未被占用的端口
  4. const db = require('./db')
  5. // 设置中间件以允许跨域请求(可选,根据你的需求)
  6. app.use((req, res, next) => {
  7. res.header("Access-Control-Allow-Origin", "*");
  8. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  9. next();
  10. });
  11. //配置对外接口
  12. app.get('/', (req, res) => {
  13. var sql = 'select * from user'
  14. db.query(sql, (err, data) => {
  15. if(err) {
  16. return res.send({
  17. status: 400,
  18. message: "查询失败"
  19. })
  20. } else{
  21. console.log('查询结果:', data)
  22. res.json(data);
  23. }
  24. })
  25. });
  26. // 设置路由和响应
  27. /*
  28. app.get('/', (req, res) => {
  29. // 创建一个对象,其中包含你想要返回的数据
  30. const data = [
  31. { id: 1, name: 'Alice', age:18, email: '[email protected]' },
  32. { id: 2, name: 'Bob', age:19, email: '[email protected]' },
  33. // ...更多用户
  34. ];
  35. // 使用res.json()方法发送JSON响应
  36. res.json(data);
  37. });
  38. */
  39. // 启动服务器
  40. app.listen(port, () => {
  41. console.log(`Server is running on http://localhost:${port}`);
  42. });

2. Supplementum scientiarum novitiorum

Si non intelligis, tantum lege:/

  • Service-Terminal

    • Express servo crea et nexum database in piscinam constitue.
    • Medium constitue quod petitiones crucis domain concedit.
    • Definire iter GET ad interrogationem datorum et datorum reditus.
  • clientis

    • Axios utere ut petitiones HTTP servo in Vue componente mittat.
    • Accipe notitias et ostende in pagina.

"Hoc nexu piscinae utens, illud in aliis modulis introducere potes et ea uti ad quaestiones database praestandas".

In calculonis servi latus est.

In hoc contextu "aliorum modulorum" plerumque ad alias tabulas JavaScript in tuo Node.js propositis refertur, non intra ".vue` fasciculum Vue componentis. Speciatim, hi alii moduli de more signum lateris servientes sunt qui petitiones HTTP et interationes datorum tractant.

Typical Project structurae hoc spectare posset:

```
project/
servo/
db.js // The database iunctio pool code you provided
routes.js // Scheda quae definit API routing
server.js // Tabella quae incipit servo, quod hic respondeo
clientis /
src/
components/
YourComponent.vue // Your Vue component
main.js // Vue project entry file
... // Aliae ante-finem files
package.json
```

In hac structura, "servor/` folder in codice server lateralis continet, dum "cliens/` folder in fronte-finem Vue codicem continet.

### Exemplum: Utens database nexu piscinam in servo latus

Si iam habes fasciculum `server/db.js` qui nexum database definit piscinae, tum introducere potes et uti in `servo/routes.js` file:

``javascript
// server/routes.js
const express = require('express');
const db = require('./db');

iter itineris = express.Router();//non usum habeo ad hanc sectionem itineris.js. Ceterae partes in index.js collocantur, simulque cognoscimus "inducere nexum datorum pisciculorum transversis-domain occasus. secundum necessitates "Access? -Set routing- (finalem rem) servo satus"

// Definire exemplum route
router.get('/users', (req, res) =&gt; {
db.query('SELECT * FROM user', (err, results) =&gt; {
if (errant) {
return res.status(500).json({ error: err.message});
        }
res.json(eventus);
    });
});

module.exports = iter;
```

Tum erigat et incipiet server Express in file "server/server.js" et definitis itineribus utere:

``javascript
// server/server.js
const express = require('express');
const app = express();
= vias = require('./routes');

app.use('/api', viae);

const port = MMM;
app.listen(port, () =&gt; {
console.log( `Servus currit in http://localhost:${port}`);
});
```

### Using API in Vue components

In componentibus Vue tuis, Axios uti potes petitiones HTTP ad API supra definitas mittendas:

`vue
<template>
  <div>
<h2>Users</h2>
    <ul>
      <li v-for="user in users" :key="user.id">
        {{ user.name }} - {{ user.email }}
      </li>
    </ul>
  </div>
</template>

<script>
axios importare ab 'axios';

export default {
data() {
revertere {
users: []
    };
  },
conscendit () {
axios.get('http://localhost:3000/api/users')
.then (responsio =&gt; {
this.users = response.data;
      })
.catch (errorem =&gt; {
console.error('Error ducens users:', error);
      });
  }
};
</script>
```

Hoc modo, logica ante-finem et retro finem separando, codicem melius ordinare et regere potes, dum ministrans latus tractat interationes datorum, dum prior finis tractat notitias acquirendi et proponere per API.

3.

1) Servus audire debet! ! Solum cum magna vigilantia potes currere consilium et videre curriculum vitae. Mox vestigia sequentes:

Project/src/sserver/--cmd--node index.js imperium, incipit viewing

Recta magna ostendit:

Secundo, inveni me posse utihttp://localhost:3000/api/usersData recta JSON video, sed uti non potest http://localhost:3000. Solutio haec est:

Mutare optionOne.vue:

  1. export default {
  2. data() {
  3. return {
  4. users: []
  5. };
  6. },
  7. mounted() {
  8. // axios.get('http://localhost:3000/api/users')//服务端的信息
  9. axios.get('http://localhost:3000')//服务端的信息
  10. .then(response => {
  11. this.users = response.data;
  12. })
  13. .catch(error => {
  14. console.error('Error fetching users:', error);
  15. });
  16. }
  17. };

4. Quam addere paginae login?

Primum, ad bonorum folder adde: img est pagina imago quae ab initio initium fuit et folder css

Deinde adde Login.vue, iter itineris Login

Ultimus gradus est paginam priorem accommodare, App.vue (total), encapsulare, retractum in paginae latere sinistro trahere ut separatum facias Bar.vue, deinde si vis videre hunc Bar in omnibus paginam, singulis paginis addere debes.

Exemplum:

optionTwo.vue:

  1. <template>
  2. <el-main>
  3. <el-container>
  4. <Bar />
  5. {{msg}}
  6. <!-- 根据当前的路由显示内容 -->
  7. <router-view></router-view>
  8. </el-container>
  9. </el-main>
  10. </template>
  11. <script>
  12. import Bar from './Bar.vue';
  13. export default {
  14. name: 'optionTwo',
  15. components:{
  16. Bar
  17. },
  18. data () {
  19. return {
  20. msg: 'Option Two'
  21. }
  22. }
  23. }
  24. </script>

optionOne.vue:

  • Etsi<script>里面import了Bar,但是模块中也要用<Bar />
  • Commenta axiosa importa, quia haec sententia eundem effectum habet ac hoc.$ http.get('/optionone').tunc(responsio=&gt;.
  • Si vis data in datorum recte exhiberi post nomina columnarum, latitudinem ponere debes cum parametris duabus primis vocabulis columnae positis, latitudinem nominis ultimi columnae non appone.
  1. <template>
  2. <el-main>
  3. <el-container>
  4. <Bar />
  5. <el-table :data="information">
  6. <el-table-column prop="users" label="Users" width="140" />
  7. <el-table-column prop="sex" label="Sex" width="140" />
  8. <el-table-column prop="mood" label="mood" />
  9. </el-table>
  10. <!-- 根据当前的路由显示内容 -->
  11. <router-view></router-view>
  12. </el-container>
  13. </el-main>
  14. </template>
  15. <script>
  16. //import axios from 'axios';
  17. import Bar from './Bar.vue';
  18. export default {
  19. data() {
  20. return {
  21. information: []
  22. };
  23. },
  24. created() {
  25. this.getUserList();
  26. },
  27. methods: {
  28. getUserList() {
  29. this.$http.get('/optionone').then(response => {
  30. console.log(response.data);
  31. this.information = response.data;
  32. })
  33. .catch(error => {
  34. console.log(error);
  35. });
  36. }
  37. },
  38. // mounted() {
  39. // axios.get('http://localhost:3000/api/users')
  40. // .then(response => {
  41. // this.users = response.data;
  42. // })
  43. // .catch(error => {
  44. // console.error('Error fetching users:', error);
  45. // });
  46. // },
  47. name: 'OptionOneComponent',
  48. components: {
  49. Bar
  50. }
  51. };
  52. </script>
  53. <style>
  54. .layout-container-demo .el-header {
  55. position: relative;
  56. background-color: var(--el-color-primary-light-7);
  57. color: var(--el-text-color-primary);
  58. }
  59. .layout-container-demo .el-main {
  60. padding: 0;
  61. }
  62. .layout-container-demo .toolbar {
  63. display: inline-flex;
  64. align-items: center;
  65. justify-content: center;
  66. height: 100%;
  67. right: 20px;
  68. }
  69. </style>

Utique his quaestionibus respondere possum:

### 1. Intellige partes cuiusque fasciculi et quomodo cooperantur

**db.js (backend configuration file database)
- Function: crea et exportare MySQL database nexum piscinae.
- Quomodo simul cooperantur: Adhibentur index.js ad operationes databases.

** index.js (backend server main file)**
- Munus: Servo Express erige, fuso et mediante configurare et petitiones API tracta.
- Quomodo cooperantur: Utere db.js coniungere cum datorum et respondere petitionibus a fine anteriori.

**main.js (ante-finis principalis lima) **
- Function: Vue applicationem crea, configurare Vue Iter et axios, et applicatione conscende.
- Quomodo in unum operatur: Utere Element Plus et Vue Router ad augendae usoris interfaciem et navigationem, cum axios communicandi cum backend.

** index.js (Vue Router configuration file) **
- Function: Define ante-finem fuso et specificare Vue componentes diversis viis respondentes.
- Quomodo cooperantur: Integrate with Vue instance in main.js ad efficiendam paginam routing.

### 2. Demonstrare quomodo incipere backend et frontend servers

** Add to the backend server **;
- Curre `nodi index.js` ut servo Express incipere.
- MySQL ministerium fac currit.

** Start front-finem server **;
- Si utens Vue CLI, `npm currere serve` ut servo evolutionis calidae reloaded committitur.
- Obvius certam electronicam in navigatro (solent localhost et portum quendam) ad applicationem ante-finem vide.

### 3. Propono fronte-finem paginam et usor commercium processus

- Cum usor applicationem aperit, Vue Router debitam componentem iuxta domicilium reddet.
- Usor operationem exercet (ut ex forma login complens), et notitia per formam tergum submissa est.
- Usor exitum responsionis videt (prosperatum vel defecerat) et navigat ad diversas paginas innixas eventum.

### 4. explica processum API petitionem et responsionem

- Finis anterior axios utitur ut petitiones HTTP ad finem aversam mittat.
- Reversus Express servo petitionem accipit et operationes datorum peragit.
- Tergum mittit interrogationes datorum proventus vel errorem informationes ad frontem sicut responsio.
- Finis anterior responsionem accipit et statum paginae updates nec informationes exhibet ex responsione.

### 5. De clavem vitae in project

- **Vue Router**: ante-finem fusa ac instrumentis navigationem in singulis paginarum applicationibus administrat.
- **axios**: HTTP peticiones et processus responsiones mittebat a fine anteriori ad finem retro.
- Exprime: Node.js applicationis telae compages, usus est ad servientes creandos et petitiones API tractandas.
- **MySQL**: Systema datorum relationum administratio, usus ad reponendas et interrogationes datas.

### 6. Para responsa ad aliquid saepe quaesivit quaestiones

** Quid agere cum CORS? **
- Cori mediante utere ut certis ditionibus externis ad API accedere permittas.

** Quomodo usor authenticas efficiendi? **
- Revocatio API inspicienda authenticas informationes (ut signa JWT) in rogatu ut identitatem usoris cognosceret.

** Quomodo notitia securitatem curare? **
- Translatio notitia encrypted utens HTTPS.
- Tesserae usoris sunt hashed et reponuntur.
- Validate omnes initus usorum ad impediendos impetus ut SQL iniectio.

Per responsiones praedictas, debes habere lucide intellegentiam principii operandi et exsequendi processum rei, et ad defensionem parato.