w-vue-middle
Version:
统一公共服务组件
227 lines (219 loc) • 7.69 kB
JavaScript
/*
* @Author: Jason Liu
* @Date: 2020-11-13 09:09:50
* @Desc:
*/
var path = require('path')
var HtmlWebpackPlugin = require('html-webpack-plugin');
var webpack = require("webpack")
const VueLoaderPlugin = require('vue-loader/lib/plugin');
// const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin')
const MonacoWebpackPlugin = require('monaco-editor-esm-webpack-plugin')
process.env.BASE_URL = process.env.NODE_ENV === 'development' ? "../" : "../";
function resolve(dir) {
return path.join(__dirname, dir);
}
const main_ip = "http://172.17.1.96";
module.exports = {
entry: './example/main.js',
output: {
path: path.resolve(__dirname, "dist"),
filename: '[name].js'
},
module: {
rules: [{
test: /\.css$/,
loader: "style-loader!css-loader"
}, {
test: /\.less$/,
use: ["style-loader", "css-loader", "less-loader"]
}, {
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader",
options: {
"presets": [
"@babel/preset-env",
"@vue/babel-preset-jsx"
]
}
}, {
test: /.vue$/,
loader: "vue-loader"
},
{
test: /\.(svg)(\?.*)?$/,
use: [{
loader: 'svg-sprite-loader',
options: {
symbolId: "icon-[name]", // 保持与vue文件一致
},
}],
},
{
test: /\.(png|jpe?g|gif)(\?.*)?$/,
loader: 'url-loader',
query: {
limit: 10000,
name: 'img/[name].[hash:7].[ext]'
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: { limit: 10000, name: 'fonts/[name].[hash:7].[ext]' }
},
{
test: /\.mjs$/,
include: /node_modules/,
type: "javascript/auto"
},
{
test: /\.js$/,
include: /node_modules[\\\/]monaco-editor[\\\/]esm/,
loader: "babel-loader",
options: {
"presets": [
"@babel/preset-env",
"@vue/babel-preset-jsx"
]
}
},
{
test: /\.js/,
enforce: 'pre',
include: /node_modules[\\\/]monaco-editor[\\\/]esm/,
use: MonacoWebpackPlugin.loader
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('./'), // 修改别名
'w-vue-middle': resolve('./'), // 修改别名
},
extensions: ['.js', '.jsx', '.vue']
},
plugins: [
new HtmlWebpackPlugin({
"env.BASE_URL": {
NODE_ENV: "dashboard"
},
templateParameters: {
BASE_URL: `/com`
},
filename: 'index.html',
template: 'example/index.html'
}),
new VueLoaderPlugin(),
new MonacoWebpackPlugin()
],
devServer: {
contentBase: path.join(__dirname),
port: 8080,
open: true,
inline: true,
proxy: {
"/portalService": { //统一登录服务
//target: "http://172.17.1.205:8500/",
//target: "http://1.15.45.84:8500/",
// target: "http://172.16.0.187:51980/api/v1/",
// target: "http://172.17.17.144:51980//api/v1/",
//target: "http://172.17.0.183:51980/api/v1/",
// target: "http://172.17.0.137:51980/api/v1/",
// target: "http://172.17.1.96:51980/api/v1/",
// target: "http://172.16.0.187:51980/api/v1/",
// target: "http://172.17.17.201:51980/api/v1/",
// target: "http://172.17.0.56:51980/api/v1/",
target: main_ip + ":51980/api/v1/",
changeOrigin: true,
pathRewrite: {
'^/portalService': ""
},
},
"/userService": { //用户服务
//target: "http://172.16.9.97:8190/", proxy_pass http://172.17.0.183:51980/;
// target: "http://172.16.0.187:51980/",
//target: "http://172.17.0.183:51980/",
// target: "http://172.17.0.137:51980/",
// target: "http://172.17.1.96:51980/",
// target: "http://172.16.0.187:51980/",
// target: "http://172.17.17.201:51980/",
// target: "http://172.17.0.56:51980/",
target: main_ip + ":51980/",
changeOrigin: true,
pathRewrite: {
'^/userService': ""
},
},
"/dataService": { //数据服务
// target: "http://172.16.9.92:9001/",
target: main_ip + ":8888/",
changeOrigin: true,
pathRewrite: {
'^/dataService': ""
},
},
"/dataDevelopmentService/": { //数据开发
// target: "http://172.16.0.187:51920/",
target: main_ip + ":8888/",
changeOrigin: true,
pathRewrite: {
'^/dataDevelopmentService': ""
},
},
"/edsm": {
// target: "http://172.16.0.29:8083/",
target: main_ip + ":8888/",
changeOrigin: true,
},
"/dataIntegration": { //数据集成
// target: "http://172.16.0.189:8190/",
// target: "http://172.17.17.139:8190/",
// target: "http://172.17.1.96:8190/",
// target: "http://172.17.1.80:8190/",
// target: "http://172.17.0.56:8190/",
changeOrigin: true,
target: main_ip + ":8888/",
pathRewrite: {
'^/dataIntegration': ""
},
},
"/metaData": {
// target: "http://172.16.0.29:8085/",
target: main_ip + ":8888/",
changeOrigin: true,
pathRewrite: {
'^/metaData': ""
},
},
"/metadataService": {
// target: "http://172.16.0.187:8089/",
target: main_ip + ":8888/",
changeOrigin: true,
pathRewrite: {
'^/metadataService': ""
},
},
"/dispatchCenterService": { //调度中心
// target: "http://172.16.0.187:51960/",
// target: "http://172.17.1.96:51960/",
// target: "http://172.17.0.56:51960/",
// target: "http://172.17.1.80:51960/",
target: main_ip + ":8888/",
changeOrigin: true,
pathRewrite: {
'^/dispatchCenterService': ""
},
},
"/translateService": { //百度翻译
target: "https://fanyi-api.baidu.com/",
changeOrigin: true,
pathRewrite: {
'^/translateService': ""
},
},
}
},
}