当前位置: 首页 > news >正文

用MySQL+node+vue做一个学生信息管理系统(一):配置项目

先用npm init -y生成配置文件
在这里插入图片描述

在项目下新建src文件夹,app.js文件。src目录用来放静态资源文件,app.js是服务器文件,index.js是vue的入口文件

在这里插入图片描述

使用npm install express下载express框架

在app.js文件夹开启node服务,监听的端口为3000,并且开放静态资源文件的src目录

const express = require('express');
const app = express();
const path = require('path');
//开放静态资源访问,只需要输入文件名即可,不需要输入文件夹
app.use(express.static(path.join(__dirname,'src')));
app.listen(3000);

使用node app.js发现node服务启动成功
在这里插入图片描述

安装webpack:
1.运行npm install webpack webpack-cli -D命令
2.在项目根目录中,创建名为webpack.config.js的webpack配置文件
3.在webpack的配置文件中,初始化配置

module.exports = {mode:'development'//mode用来指定构建模式 production
}

4.在package.json配置文件中的scripts节点下,新增dev脚本如下:

"scripts":{"dev":"webpack"
}

5.使用npm run dev命令,启动webpack进行项目打包
6.webpack会帮我们创建一个dist目录,dist目录当中的main.js为低级的js代码

在这里插入图片描述

webpack配置打包的入口和出口:
默认打包的入口文件为src->index.js,打包的输出文件为dist->main.js文件
如果要修改打包的入口和出口,可以在webpack.config.js新增如下配置信息:

const path = require('path');
module.exports = {mode:'development',//mode用来指定构建模式 productionentry:path.join(__dirname,'./src/index.js'),//打包入口文件的路径output:{path:path.join(__dirname,'./src'),//输出文件的存放路径filename:'bundle.js',//输出文件的名称}
}

src目录下的bundle.js是webpack帮我们自动创建的,我们只需要在index.html当中引入bundle.js项目就能运行
在这里插入图片描述

打包处理css文件
1.运行npm install style-loader css-loader -D命令,安装处理css文件的loader
2.在webpack.config.js的module.rules数组中,添加loader规则如下:

module:{
rules:[{test:/.css$/,use:['style-loader','css-loader']},
]
}

test表示匹配的文件类型,use表示要用的loader

打包处理高级js语法:
1.npm install babel-loader @babel/core @babel/runtime -D
2.npm install @babel/preset-env @babel/plugin-transform-runtime @babel/plugin-proposal-class-properties -D
3.在项目根目录中,创建babel配置文件babel.config.js并初始化配置如下:

module.exports = {presets:[ '@babel/preset-env' ],plugins:[ '@babel/plugin-transform-runtime','@babel/plugin-proposal-class-properties' ]
}

4.在webpack.config.js的module -> rules数组中,添加loader规则如下:

{ test:/.js$/,use:‘babel-loader’,exclude:/node_modules/}

vue单文件组件的使用方法,在src目录下新建components目录

webpack中配置vue组件的加载器:
1.运行npm install vue-loader vue-template-compiler -D
2.在webpack.config.js配置文件中,添加vue-loader的配置项如下:

const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
module:{
rules:[//…其他规则{ test:/.vue$/,use:'vue-loader'}
]
},
plugins:[//其他插件new VueLoaderPlugin()
]
}

在webpack项目中使用vue:
1.运行npm install vue -S安装vue
2.在src->index.js入口文件中通过import Vue from ‘vue’来导入vue构造函数
3.创建vue的实例对象,并指定要控制的el区域
4.通过render函数渲染App根组件

import Vue from 'vue'
import App from './components/App.vue'
const vm = new Vue({el:'#app',render:h=>h(App)
})

做完以上的配置时,在命令行工具输入npm run dev,打包成功,并且src目录下多了bundel.js文件,把这个bundle.js引入在index.html中,输入node app.js打开服务器

在这里插入图片描述

然后打开localhost:3000发现项目已经可以成功运行
在这里插入图片描述

webpack.config.js

const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {mode:'development',//mode用来指定构建模式 productionentry:path.join(__dirname,'./src/index.js'),//打包入口文件的路径output:{path:path.join(__dirname,'./src'),//输出文件的存放路径filename:'bundle.js',//输出文件的名称},module:{rules:[{test:/.css$/,use:['style-loader','css-loader']},{ test:/.js$/,use:'babel-loader',exclude:/node_modules/},{ test:/.vue$/,use:'vue-loader'}]},plugins:[//其他插件new VueLoaderPlugin()]
}

相关文章:

  • 【 木兰宽松许可证】
  • win10下Python的安装和卸载
  • 【Python】.py和.pyc文件的区别
  • 【深度学习】注意力机制
  • Unity | Shader基础知识(第十七集:学习Stencil并做出透视效果)
  • 华为SRv6 policy EVPN配置案例
  • CS中的局部性原理
  • vite项目如何在本地启动https协议
  • 【SpringBoot3学习 | 第1篇】SpringBoot3介绍与配置文件
  • 01:Linux的基本命令
  • 强化学习-5 策略梯度、Actor-Critic 算法
  • IOS Swift 从入门到精通:写入 Firestore数据库
  • 【ACM出版,马来西亚-吉隆坡举行】第四届互联网技术与教育信息化国际会议 (ITEI 2024)
  • 电路笔记(PCB):电流容量(IPC-2221和IPC-2152)+阻抗匹配
  • JavaMySQL 学习(基础)
  • Akka系列(七):Actor持久化之Akka persistence
  • exif信息对照
  • flask接收请求并推入栈
  • go语言学习初探(一)
  • Js基础知识(一) - 变量
  • passportjs 源码分析
  • Python学习笔记 字符串拼接
  • React-redux的原理以及使用
  • vue-loader 源码解析系列之 selector
  • 两列自适应布局方案整理
  • 延迟脚本的方式
  • 我们雇佣了一只大猴子...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #14vue3生成表单并跳转到外部地址的方式
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (阿里云万网)-域名注册购买实名流程
  • (第30天)二叉树阶段总结
  • (算法设计与分析)第一章算法概述-习题
  • (一)appium-desktop定位元素原理
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • @test注解_Spring 自定义注解你了解过吗?
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [CakePHP] 在Controller中使用Helper
  • [C语言]——分支和循环(4)
  • [LeetCode]-Integer to Roman 阿拉伯数字转罗马数字
  • [lintcode easy]Maximum Subarray
  • [Linux] 一文理解HTTPS协议:什么是HTTPS协议、HTTPS协议如何加密数据、什么是CA证书(数字证书)...
  • [Oh My C++ Diary]带参数的main()函数
  • [python 邮件处理]
  • [SOA介绍]什么是SOA?
  • [Ubuntu] 运行.AppImage格式文件
  • [uni-app]记录APP端跳转页面自动滚动到底部的bug
  • [Valkyrie网络测试仪-软件使用技巧] - Scheduler动作录制,定制打流过程(中途启停/调整带宽/使能部分流量)