为了方便说明,这里将“springboot如何使用vue打包过的页面资源”分为两大部分:前端资源打包和后端资源引入。下面对这两部分进行详细讲解。
一、前端资源打包
1.1 环境准备
在进行前端资源打包之前,需要先安装vue-cli和项目依赖。具体步骤如下:
-
安装Node.js和npm(已安装可跳过);
-
使用npm安装vue-cli:
bash
npm install -g vue-cli
- 使用vue-cli初始化项目:
bash
vue init webpack my-project
- 进入项目目录:
bash
cd my-project
- 安装项目依赖:
bash
npm install
1.2 打包配置
在上述准备工作完成之后,需要对vue-cli的打包配置进行调整以满足后端使用的需求。具体步骤如下:
- 在根目录下创建vue.config.js文件,并在其中添加如下内容:
javascript
module.exports = {
publicPath: process.env.NODE_ENV === 'production'
? '/static/'
: '/'
}
- 运行以下命令进行打包:
bash
npm run build
上述命令完成之后,会在根目录下生成dist文件夹,其中的文件即是打包后的前端资源。
1.3 前端资源示例
下面以vue-cli框架为例,使用axios实现前后端数据交互。具体步骤如下:
- 安装axios:
bash
npm install axios
- 在main.js文件中引入axios:
```javascript
import axios from 'axios'
Vue.prototype.$http = axios
```
- 在Home.vue组件中发出GET请求:
```vue
```
上述代码中的/api/message请求是后端API的地址,需要在后端代码中进行配置。
二、后端资源引入
2.1 静态资源目录
在springboot中,可以在application.properties文件中配置静态资源目录。具体步骤如下:
-
在resources目录下新建application.properties文件;
-
在其中添加如下内容:
properties
spring.resources.static-locations=classpath:/static/
2.2 静态资源示例
为了演示如何在springboot中引入前端资源,以下代码以首页为例。
- 在Controller中添加以下代码:
java
@RequestMapping("/")
public String index(){
return "index.html";
}
其中index.html即是前端打包后的文件名,需要将其放入静态资源目录之中。
- 将前端打包后的静态资源放入静态资源目录中。
这样,通过访问"http://localhost:8080"即可在springboot中访问前端资源。
2.3 传递数据示例
为了能够在后端代码中使用前端传递的数据,需要使用解析请求体的工具。具体步骤如下:
- 在pom.xml文件中添加以下依赖:
xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
- 在Controller中添加以下代码:
java
@PostMapping("/api/message")
@ResponseBody
public String message(@RequestBody JSONObject params){
String message = params.get("message").toString();
return "你传递的消息是:" + message;
}
其中params即是请求体解析之后的JSON对象,在以上代码中我们取出其中的message属性进行处理。
- 在Vue组件中发出POST请求:
```vue
```
上述代码中的/api/message请求是后端API的地址,在后端代码中进行配置。
至此,我们已经成功在springboot中引入了vue打包后的前端资源,并通过前后端数据交互实现了一个简单的示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot如何使用vue打包过的页面资源 - Python技术站