vue打包放到Java项目里_【vue】webpack打包vue项目并且运行在Tomcat里面

本文介绍了如何配置Webpack发布脚本,将Vue项目打包,并将其部署到Java的Tomcat环境中。主要内容包括在`package.json`中添加打包脚本,编写`webpack.publish.config.js`配置文件,设置entry、output、module以及使用各种loader处理不同类型的文件。同时,文章提到了使用CleanWebpackPlugin清理打包后的旧文件,HtmlWebpackPlugin生成HTML文件,以及在JavaWeb项目中配置重定向到index.html的方法。
摘要由CSDN通过智能技术生成

在package.json里面是script加入脚本"publish": " webpack --config webpack.publish.config.js -p"

编写webpack.publish.config.jsconst webpack=require("webpack");

const path = require('path');

const node_modules = path.resolve(__dirname, 'node_modules');

const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;

const ExtractTextPlugin = require("extract-text-webpack-plugin");

const HtmlwebpackPlugin=require("html-webpack-plugin");

const CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {

entry: {

app:path.resolve(__dirname,'src/main.js'),

vendors:['vue']

},

output: {

path: path.resolve(__dirname, 'dist/app'),

filename: 'static/js/[name].js',

},

module: {

loaders: [

{

test:/\.vue$/,

loader:'vue-loader'

},

{

test: /\.css$/,

use: ExtractTextPlugin.extract({

use: 'css-loader',

fallback: 'style-loader'

})

},

{

test:/\.js$/,

loader:'babel-loader',

exclude:/node_modules/,

query: {

presets: ['es2015']

}

},

{

test:/\.less$/,

loader:'style-loader!css-loader!autoprefixer-loader!less-loader'

},

{

test:/\.scss$/,

loader:'style-loader!css-loader!autoprefixer-loader!sass-loader'

},

{

test: /\.(png|jpg|gif)$/,

loader:'url-loader?limit=8192&name=./static/img/[name].[ext]'

},

{

test: /\.(ttf|woff|svg|eot|woff2)$/,

loader:'url-loader?limit=8192&name=./static/font/[name].[ext]'

}

]

},

plugins:[

new webpack.optimize.CommonsChunkPlugin({

name: 'vendor',

filename: 'vendor.bundle.js',

minChunks: Infinity

}),

new UglifyJsPlugin({

compress:{

warnings:false

}

}),

new ExtractTextPlugin("static/css/styles.css"),

new HtmlwebpackPlugin({

title: 'index', //生成的页面标题

filename: 'index.html', //生成的文件名称

template: 'index.html' //根据index1.html这个模板来生成

}),

new webpack.ProvidePlugin({

$:"jquery",

jQuery:"jquery",

"windows.jQuery":"jquery"

}),

new webpack.optimize.CommonsChunkPlugin({

name: 'manifest' //But since there are no more common modules between them we end up with just the runtime code included in the manifest file

}),

new CleanWebpackPlugin(

['dist/app/main.*.js','dist/app/manifest.*.js',],  //匹配删除的文件

{

root: __dirname,           //根目录

verbose: true,           //开启在控制台输出信息

dry: false           //启用删除文件

})

]

}

执行打包命令npm run publish

准备一个javaWeb项目index.html放入web-inf文件夹中

static目录放在webapp中

写一个转发的方法转发到index.html

private static final String Index = "index";

@RequestMapping(value = {"","index"},method = RequestMethod.GET)

public ModelAndView toIndex(){

ModelAndView view = new ModelAndView(Index );

return view;

}

转载自 我的博客-九零码农

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值