当前位置: 首页 > Web前端 > vue.js

Vue下webpack配置多页面nginx配置

时间:2023-03-31 22:34:01 vue.js

package.json{"name":"Vue","version":"2.0.0","description":"","main":"index.js","directories":{"test":"webpack4+vue2"},"dependencies":{"animate.css":"^3.7.0","babel-preset-es2015":"^6.24.1","vant":"^1.6.7","vue-hot-reload-api":"^2.3.1","vue-html-loader":"^1.2.4","vue-lazyload":"^1.2.6","vue-resource":"^1.5.1","vue-router":"^2.8.1","vue-style-loader":"^2.0.5","vue2-toast":"^2.0.2"},"devDependencies":{"autoprefixer":"^9.4.9","axios":"^0.18.0","babel-core":"^6.26.3","babel-eslint":"^10.0.1","babel-loader":"^7.1.5","babel-plugin-import":"^1.11.0","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.7.0","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","babel-runtime":"^6.26.0","clean-webpack-plugin":"^1.0.0","css-loader":"^1.0.1","eslint"“:“^5.9。0","eslint-plugin-flowtype":"^3.2.0","expose-loader":"^0.7.5","file-loader":"^2.0.0","html-webpack-plugin":"^3.2.0","html-withimg-loader":"^0.1.16","install":"^0.12.2","jquery":"^3.3.1","less":"^3.8.1","less-loader":"^4.1.0","mini-css-extract-plugin":"^0.5.0","node-sass":"^4.11.0",“postcss”:“^7.0.14”,“postcss-loader”:“^3.0.0”,“sass-loader”:“^7.1.0”,“style-loader”:“^0.23.1”,“timeago.js”:“^4.0.0-beta.2”,“uglifyjs-webpack-plugin”:“^2.0.1”,“url-loader”:“^1.1.2”,“vue”:“^2.6.6","vue-bus":"^1.2.0","vue-loader":"^15.4.2","vue-template-compiler":"^2.6.6","vue-timeago":"^5.1.2","vuex":"^3.1.0","webpack":"^4.26.0","webpack-cli":"^3.1.2","webpack-dev-服务器":"^3.1.10"},"scripts":{"test":"webpack--mode=development--progress--colors--config./webpack.test.config.js","dev":"webpack--mode=development--progress--colors--config./webpack.dev.config.js","test-w":"webpack--mode=development--progress--colors--config./webpack.test.config.js--watch","dev-w":"webpack--mode=development--progress--colors--config./webpack.dev.config.js--watch","build":"webpack--mode=production--progress--colors--config./webpack.prod.config.js--watch","prod":"webpack--mode=production--progress--colors--config./webpack.prod.config.js"},"babel":{"presets":["env"]},"author":"LF","license":"ISC"}postcss.config.js/**@Author:杨*@Date:2020-10-1815:58:57*@LastEditors:yang*@LastEditTime:2020-10-1816:10:01*@FilePath:\gloud-h5\postcss.config.js*/module.exports={plugins:[require('autoprefixer')({overrideBrowserslist:["Android4.1","iOS7.1","Chrome>31","ff>31","ie>=8"//'last10versions',//所有主流浏览器最近10版本用],grid:true})]}.gitignorenode_modules/npm-debug.log.idea/dist/.htmlwebpack.base.config.js/**@Author:yang*@Date:2020-10-1815:58:57*@LastEditors:yang*@LastEditTime:2020-10-1816:01:02*@FilePath:\gloud-h5\webpack.base.config.js*//***由Lee于2019/2/13创建。*/letHtmlWebpackPlugin=require('html-webpack-plugin')require('babel-polyfill')letentry={index:['babel-polyfill','./src/views/index.js'],}letplugins=[]Object.keys(entry).forEach(function(e){letplugin=newHtmlWebpackPlugin({模板:`./src/views/${e}.html`,文件名:`../${e}.html`,hash:true,chunks:[e,'common'],})plugins.push(plugin)})module.exports={entry,plugins,}webpack.dev.config.jsletwebpack=require('webpack');letpath=require('path');letHtmlWebpackPlugin=require('html-webpack-plugin');letCleanWebpackPlugin=require('clean-webpack-plugin');常量VueLoaderPlugin=require('vue-loader/lib/plugin');constuglifyjs=require('uglifyjs-webpack-plugin');letconfig=require('./webpack.base.config')module.exports={entry:config.entry,//入口文件输出配置(也就是入口文件最终会生成什么名字,存放在哪里)output:{path:path.resolve('dist'),publicPath:'./dist/',filename:'[name].js',},模块:{规则:[{test:require.resolve('jquery'),使用:[{loader:'expose-loader',options:'jQuery'},{loader:'expose-loader',选项:'$'}]},{test:/\.vue$/,loader:'vue-loader'},{test:/\.js$/,exclude:/node_modules/,loader:'babel-loader'},{测试:/\.(png|jpg|gif)$/,使用:[{加载器:'url-loader',选项:{限制:8192,输出路径:'images/'}}]},{test:/\.css$/,use:["style-loader","css-loader","postcss-loader"]},{test:/\.scss$/,使用:['style-loader','css-loader','postcss-loader','sass-loader',]},{test:/\.(eot|svg|ttf|woff|woff2)\w*/,loader:'file-loader'}]},优化:{splitChunks:{cacheGroups:{vendor:{name:'common',chunks:'initial',minChunks:2,}}}},plugins:[newCleanWebpackPlugin(['dist']),//打包前删除distnewVueLoaderPlugin(),newuglifyjs(),newwebpack.DefinePlugin({'base_api':'"http://xiaowoxuetang.com/"',}),...config.plugins],//解决vue错误resolve:{extensions:['.js','.vue'],alias:{'vue$':'vue/dist/vue.common.js',}},//devServer:{//contentBase:'./dist',//host:'localhost',//默认为localhost//port:8000,//端口//open:true,//自动打开浏览器//hot:true,//启用热更新//compress:true,//},mode:'development'//模式配置;development}webpack.prod.config/**@Author:yang*@Date:2020-10-1815:58:57*@LastEditors:yang*@LastEditTime:2020-10-1816:31:02*@FilePath:\gloud-h5\webpack.prod.config.js*/letwebpack=require('webpack');letpath=require('path');letHtmlWebpackPlugin=require('html-webpack-plugin');letCleanWebpackPlugin=require('clean-webpack-plugin');constVueLoaderPlugin=require('vue-loader/lib/plugin');constuglifyjs=require('uglifyjs-webpack-plugin');letconfig=require('./webpack.base.config')module.exports={//条目:{//index:'./src/index.js',//首页入口JS////share:'./src/share.js'//},entry:config.entry,//入口文件output配置(即入口文件最终会生成什么名字,存放在哪里)output:{path:path.resolve('dist'),publicPath:'./dist/',filename:'[name].js',},module:{rules:[{test:require.resolve('jquery'),use:[{loader:'expose-loader',options:'jQuery'},{loader:'expose-loader',options:'$'}]},{test:/\.vue$/,loader:'vue-loader'},//{test:/\.css$/,loader:'style-loader!css-loader'},{test:/\.css$/,使用:["style-loader","css-loader","postcss-loader"]},{test:/\.scss$/,使用:['style-loader','css-loader','postcss-loader','sass-loader',]},{test:/\.js$/,exclude:/node_modules/,loader:'babel-loader',},{test:/\.(png|jpg|gif)$/,use:[{loader:'url-loader',options:{//当加载的图片小于限制时,将图片编译成base64字符串格式(限制单位字节)//当加载的图片大于限制时,需要使用url-loader模块加载输入路径outputPathlimit:8192,outputPath:'images/'}}]},{test:/\.(eot|svg|ttf|woff|woff2)\w*/,loader:'file-loader'}]},optimization:{splitChunks:{cacheGroups:{//默认规则不会打包,需要缓存策略单独定义,默认设置splitnode_modules和publicmodules。内参可以覆盖外参vendor:{name:'common',//splitjsnamechunks:'initial',//也会同时封装同步和异步,但是不再考虑异步内部的引入,直接打包在一起,将vue和b的内容直接打包成chunks,minChunks:2,//最小公共模块数}}}},plugins:[newCleanWebpackPlugin(['dist']),//打包前删除distnewVueLoaderPlugin(),newuglifyjs(),newwebpack.DefinePlugin({'base_api':'"http://xiaowoxuetang.com/',}),...config.plugins,],//解决vue错误resolve:{extensions:['.js','.vue'],alias:{'vue$':'vue/dist/vue.common.js',}},mode:'production'//模式配置;开发}