Files
elink-test-master/ApiTestManager/webpack.config.js
T
2024-05-07 13:43:48 +09:00

100 lines
3.0 KiB
JavaScript

const path = require('path');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
module.exports = {
entry: {
app: './src/index.js',
// 'editor.worker': 'monaco-editor/esm/vs/editor/editor.worker.js',
// 'json.worker': 'monaco-editor/esm/vs/language/json/json.worker',
// 'css.worker': 'monaco-editor/esm/vs/language/css/css.worker',
// 'html.worker': 'monaco-editor/esm/vs/language/html/html.worker',
// 'ts.worker': 'monaco-editor/esm/vs/language/typescript/ts.worker'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
{
test: /\.less$/,
use: [
'style-loader', // Creates `style` nodes from JS strings
'css-loader', // Translates CSS into CommonJS
'less-loader' // Compiles Less to CSS
]
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
generator: {
filename: 'fonts/[name][ext]',
},
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
//,
// {
// test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
// use: [
// {
// loader: 'file-loader',
// options: {
// name: '[name].[ext]',
// outputPath: 'fonts/',
// },
// },
// ],
// }
]
},
plugins: [new MonacoWebpackPlugin()],
externals: {
jquery: 'jQuery',
bootstrap: 'bootstrap',
lodash: '_',
monaco : 'monaco'
},
output: {
library: {
name: 'APITestManager',
type: 'umd',
export: 'default'
},
globalObject: `(typeof self !== 'undefined' ? self : this)`,
// globalObject: 'self',
path: path.resolve(__dirname, 'dist'),
filename: '[name].bundle.js',
},
mode: 'development',
devServer: {
proxy : {
'/mgmt': {
target: 'http://localhost:38080',
changeOrigin: true,
}
}
},
// optimization: {
// splitChunks: {
// chunks: 'all',
// automaticNameDelimiter: '-',
// cacheGroups: {
// vendor: {
// test: /[\\/]node_modules[\\/]/,
// name: 'vendors',
// chunks: 'all',
// }
// }
// }
// }
};