1、webpack与springboot结合时项目的目录结构
- public:我们写的前端页面存放处
在public中又有如下文件夹
1、img
2、js
3、scss
4、static:存放不需要打包的静态资源文件,会被直接打包到resources/static文件夹中
5、views:存放页面 - wepack.config.js:放在springboot根目录下,wepack的相应配置
2、webpack.config.js配置内容
我先把我的配置内容给大家看一下
const path = require('path')
const webpack = require('webpack');
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin")
const glob = require('glob');
const OptimzeCsAsetsWebpackPlugin = require('optimize-css-assets-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin')
//springboot的后端端口
const backendServer = "http://localhost:8084";
const setMPA = () => {
const entry = {};
const htmlWebpackPlugins = [];
//搜索符合的js文件
const entryFiles = glob.sync(path.join(__dirname, './src/main/resources/public/js/*/*.js'));
Object.keys(entryFiles)
.map((index) => {
const entryFile = entryFiles[index];
const match = entryFile.match(/src\/main\/resources\/public\/js\/(.*)\/(.*)\.js/);
const pageName = match && match[2];
const PathName=match&&match[1];
const jsName=PathName+"/"+pageName
entry[jsName] = entryFile;