112 lines
3.2 KiB
JavaScript
112 lines
3.2 KiB
JavaScript
const path = require('path');
|
||
const HtmlWebpackInlineSourcePlugin = require('html-webpack-inline-source-plugin')
|
||
|
||
function resolve(dir) {
|
||
return path.join(__dirname, dir);
|
||
}
|
||
|
||
module.exports = {
|
||
productionSourceMap: false,
|
||
devServer: {
|
||
port: 8080,
|
||
proxy: {
|
||
//1.8需求:增加分享功能,不登陆即可看到文档页面。所以代理设置增加了(?!/document)文档页面的相关信息
|
||
// ['^(?!/login)']: {
|
||
['^((?!/login)(?!/document))']: {
|
||
target: 'https://localhost:8443',
|
||
ws: true,
|
||
},
|
||
}
|
||
},
|
||
pages: {
|
||
business: {
|
||
entry: "src/business/main.js",
|
||
template: "src/business/index.html",
|
||
filename: "index.html"
|
||
},
|
||
login: {
|
||
entry: "src/login/login.js",
|
||
template: "src/login/login.html",
|
||
filename: "login.html"
|
||
},
|
||
document: {
|
||
entry: "src/document/document.js",
|
||
template: "src/document/document.html",
|
||
filename: "document.html",
|
||
},
|
||
sharePlanReport: {
|
||
entry: "src/template/report/plan/share/share-plan-report.js",
|
||
template: "src/template/report/plan/share/share-plan-report.html",
|
||
filename: "share-plan-report.html",
|
||
},
|
||
sharePerformanceReport: {
|
||
entry: "src/template/report/performance/share/share-performance-report.js",
|
||
template: "src/template/report/performance/share/share-performance-report.html",
|
||
filename: "share-performance-report.html",
|
||
},
|
||
shareApiReport: {
|
||
entry: "src/template/report/api/share/share-api-report.js",
|
||
template: "src/template/report/api/share/share-api-report.html",
|
||
filename: "share-api-report.html",
|
||
},
|
||
shareUiReport: {
|
||
entry: "src/template/report/ui/share/share-ui-report.js",
|
||
template: "src/template/report/ui/share/share-ui-report.html",
|
||
filename: "share-ui-report.html",
|
||
},
|
||
enterpriseReport: {
|
||
entry: "src/template/enterprise/share/share-enterprise-report.js",
|
||
template: "src/template/enterprise/share/share-enterprise-report.html",
|
||
filename: "share-enterprise-report.html",
|
||
},
|
||
planReport: { //这个配置要放最后,不然会导致测试计划导出报告没有将css和js引入html,原因没具体研究
|
||
entry: "src/template/report/plan/plan-report.js",
|
||
template: "src/template/report/plan/plan-report.html",
|
||
filename: "plan-report.html",
|
||
}
|
||
},
|
||
configureWebpack: {
|
||
devtool: 'cheap-module-source-map',
|
||
resolve: {
|
||
alias: {
|
||
'@': resolve('src')
|
||
}
|
||
},
|
||
},
|
||
css: {
|
||
extract: {
|
||
ignoreOrder: true,
|
||
}
|
||
},
|
||
chainWebpack: config => {
|
||
// svg rule loader
|
||
config.module
|
||
.rule('svg')
|
||
.exclude.add(resolve('src/assets/module'))
|
||
.end()
|
||
|
||
config.module
|
||
.rule('icons')
|
||
.test(/\.svg$/)
|
||
.include.add(resolve('src/assets/module'))
|
||
.end()
|
||
.use('svg-sprite-loader')
|
||
.loader('svg-sprite-loader')
|
||
.options({
|
||
symbolId: 'icon-[name]'
|
||
})
|
||
|
||
// 报告模板打包成一个html
|
||
config.plugin('html-planReport')
|
||
.tap(args => {
|
||
args[0].inlineSource = '.(js|css)$';
|
||
return args;
|
||
});
|
||
config.plugin('inline-source-html-planReport')
|
||
.after('html-planReport')
|
||
.use(HtmlWebpackInlineSourcePlugin);
|
||
config.plugins.delete('prefetch');
|
||
|
||
}
|
||
};
|