vue-apps/com.actionsoft.apps.coe.pal/vue.config.js
2022-06-28 10:09:47 +08:00

125 lines
3.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const HtmlWebpackPlugin = require('html-webpack-plugin')
const AWSDevParams = require('./AWSDevParams');
const AWSReleasePath = AWSDevParams.AWSReleasePath;
const AWSPortalUrl = AWSDevParams.AWSPortalUrl;
//开发时通过用户名及密码获取sessionId
const devUserInfo =AWSDevParams.devUserInfo;
const AWSproxyPath = "/AWSDEVURL/r/"; //防止跨域的地址
const moduleTemplateInAWS = AWSDevParams.moduleTemplateInAWS;//平台的模板路径
const outputDir = AWSDevParams.outputDir;
const publicPath = AWSDevParams.publicPath;//决定生成在平台的js或css的相对路径,与build配置的路径要对应
//判断是否开发
const isproduction = process.env.NODE_ENV === 'production';
//开发时路径和build到平台路径
let AWSJSAndCSSPath = isproduction ? "../" : AWSproxyPath.replace("r/","");
let AWSJSAndCSSImport = AWSDevParams.AWSJSAndCSSImport == null ? [] : AWSDevParams.AWSJSAndCSSImport;
let AWSJSAndCSSImportArray = [];
for(let k of AWSJSAndCSSImport){
if(k.type == "css"){
AWSJSAndCSSImportArray.push("<link type='text/css' rel='stylesheet' href='"+AWSJSAndCSSPath + k.path +"'/>");
}else if(k.type == "js"){
AWSJSAndCSSImportArray.push("<script type='text/javascript' src='"+AWSJSAndCSSPath + k.path + "'></script>");
}
}
const getAWSFileRelativePath = ()=>{
let index = "./";
if(isproduction){
index = publicPath;
}
return index;
}
const getIndexPath = ()=>{
let index = "index.html";
if(isproduction){
index = AWSReleasePath+moduleTemplateInAWS;
}
return index;
}
module.exports = {
// 基本路径 build后文件路径../apps/_bpm.platform/test2 ,开发运行时文件路径./
publicPath: getAWSFileRelativePath(),
//生成入口的html文件位置
indexPath: getIndexPath(),
outputDir : AWSReleasePath+outputDir,
// eslint-loader 是否在保存的时候检查
lintOnSave: true,
productionSourceMap: false, //打包不使用源码false后在平台无法调试
// use the full build with in-browser compiler?
// https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
// compiler: false,
// webpack配置
// see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
chainWebpack: (config) => {
config.plugin('html')
.tap(args => {
let buildVar = args[0];
buildVar.AWSJSAndCSSImport = AWSJSAndCSSImportArray.join("\n");
buildVar.AWSJSAndCSSPath = AWSJSAndCSSPath;
buildVar.devUserInfo = devUserInfo;
buildVar.isproduction = isproduction;
buildVar.axiosBaseUrl = isproduction ? "./" : AWSproxyPath;
buildVar.settingParam = isproduction ? "<#settingParam>" : "{}";
return args;
});
},
configureWebpack: config => {
config.entry.app=["babel-polyfill","./src/main.js"];
if (isproduction) {
// 为生产环境修改配置...
config.mode = 'production'
} else {
// 为开发环境修改配置...
config.mode = 'development'
}
},
devServer: {
proxy: {
//配置跨域
"/AWSDEVURL": {
target: AWSPortalUrl,
ws: true,
changOrigin: true, //允许跨域
pathRewrite: {
"^/AWSDEVURL": "" //请求的时候使用这个URL就可以
}
}
}
},
// css相关配置
css: {
loaderOptions: {}
},
// 是否启用dll
// See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode
// dll: false,
// PWA 插件相关配置
// see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
pwa: {},
// webpack-dev-server 相关配置
// devServer: {
// open: process.platform === 'darwin',
// disableHostCheck: true,
// host: 'www.test.com',//如果是真机测试就使用这个IP
// port: 1234,
// https: false,
// hotOnly: false,
// before: app => {}
// },
// 第三方插件配置
pluginOptions: {
},
transpileDependencies: ["*"]
}