1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- const path = require('path');
- const DefinePlugin = require('webpack').DefinePlugin;
- const { VueLoaderPlugin } = require('vue-loader');
- const appdir = require('./appdir');
- const clientDir = path.resolve(__dirname, '../client');
- module.exports = {
- resolve: {
- alias: {
- ws: false,
- }
- },
- entry: [`${clientDir}/main.js`],
- output: {
- publicPath: `/${appdir}/`,
- clean: true
- },
- module: {
- rules: [
- {
- test: /\.vue$/,
- loader: 'vue-loader',
- },
- {
- test: /\.js$/,
- loader: 'babel-loader',
- exclude: /node_modules/,
- options: {
- presets: [['@babel/preset-env', { targets: { esmodules: true } }]],
- plugins: [
- ['@babel/plugin-proposal-decorators', { legacy: true }]
- ]
- }
- },
- {
- test: /\.(gif|png)$/,
- type: 'asset/inline',
- },
- {
- test: /\.jpg$/,
- type: 'asset/resource',
- generator: {
- filename: 'images/[name]-[hash:6][ext]'
- },
- },
- {
- test: /\.(ttf|eot|woff|woff2)$/,
- type: 'asset/resource',
- generator: {
- filename: 'fonts/[name]-[hash:6][ext]'
- },
- },
- ]
- },
- plugins: [
- new DefinePlugin({
- __VUE_OPTIONS_API__: true,
- __VUE_PROD_DEVTOOLS__: false,
- __QUASAR_SSR__: false,
- __QUASAR_SSR_SERVER__: false,
- __QUASAR_SSR_CLIENT__: false,
- __QUASAR_VERSION__: false,
- }),
- new VueLoaderPlugin(),
- ]
- };
|