134 lines
3.2 KiB
JavaScript
134 lines
3.2 KiB
JavaScript
const path = require('path');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
|
const CODE_SERVICE_HOST = 'https://www.gitlink.org.cn/';
|
|
module.exports = (env, options) => {
|
|
return {
|
|
entry: './src/main.tsx',
|
|
target: 'web',
|
|
mode: 'development',
|
|
watch: true,
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'ts-loader',
|
|
exclude: /node_modules/,
|
|
},
|
|
{
|
|
test: /\.scss$/,
|
|
use: [
|
|
'style-loader',
|
|
'css-loader',
|
|
{
|
|
loader: 'postcss-loader',
|
|
options: {
|
|
postcssOptions: {
|
|
plugins: [['postcss-preset-env']],
|
|
},
|
|
},
|
|
},
|
|
'sass-loader',
|
|
],
|
|
},
|
|
{
|
|
test: /\.module.less$/,
|
|
use: [
|
|
'style-loader',
|
|
{
|
|
loader: 'css-loader',
|
|
options: {
|
|
importLoaders: 1,
|
|
sourceMap: true,
|
|
esModule: false,
|
|
modules: {
|
|
mode: 'local',
|
|
localIdentName: '[local]___[hash:base64:5]',
|
|
},
|
|
},
|
|
},
|
|
'less-loader',
|
|
],
|
|
},
|
|
{
|
|
test: /^((?!\.module).)*less$/,
|
|
use: [
|
|
'style-loader',
|
|
{
|
|
loader: 'css-loader',
|
|
options: {
|
|
importLoaders: 1,
|
|
sourceMap: true,
|
|
esModule: false,
|
|
},
|
|
},
|
|
{
|
|
loader: 'less-loader',
|
|
options: {
|
|
lessOptions: {
|
|
javascriptEnabled: true,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
use: [
|
|
'style-loader',
|
|
{
|
|
loader: 'css-loader',
|
|
options: {
|
|
esModule: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
externals: {
|
|
react: 'React',
|
|
'react-dom': 'ReactDOM',
|
|
alex: 'Alex',
|
|
// moment: 'moment',
|
|
// antd: 'antd',
|
|
},
|
|
resolve: { extensions: ['.tsx', '.ts', '.js'] },
|
|
output: {
|
|
filename: 'main.bundle.js',
|
|
path: path.resolve(__dirname, 'dist'),
|
|
publicPath: ''
|
|
},
|
|
plugins: [
|
|
new HtmlWebpackPlugin({
|
|
template: './src/index.html',
|
|
publicPath: '/',
|
|
inject: true,
|
|
minify: false,
|
|
}),
|
|
],
|
|
|
|
devServer: {
|
|
openPage: 'gitlink/Gitlink/forgeplus/tree/master',
|
|
proxy: {
|
|
'/code-service': {
|
|
target: CODE_SERVICE_HOST,
|
|
headers: {
|
|
// cookie 模拟 提交代码 qingyou/test
|
|
Cookie: 'user_id=BAhpA3p1AQ%3D%3D--016cfd4d2c67651b141d9ea39b418fff55bd859c; autologin=undefined; autologin_trustie=dbab4c6a48684c51b6691a28de3f6e4201c4fce3; states=undefined'
|
|
},
|
|
secure: false,
|
|
changeOrigin: true,
|
|
pathRewrite: {
|
|
'^/code-service': '',
|
|
},
|
|
onProxyReq(request) {
|
|
request.setHeader('origin', CODE_SERVICE_HOST);
|
|
},
|
|
},
|
|
},
|
|
historyApiFallback: true,
|
|
},
|
|
};
|
|
};
|