-
Notifications
You must be signed in to change notification settings - Fork 0
/
vue.config.js
75 lines (67 loc) · 1.87 KB
/
vue.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const { defineConfig } = require('@vue/cli-service');
const path = require('path');
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const devServer = {
host: '0.0.0.0',
port: 30111,
allowedHosts: 'all',
proxy: {
},
};
const chainWebpack = (config) => {
config.resolve.symlinks(false);
config.resolve.alias
.set('@', path.resolve(__dirname, 'src'))
.set('vue', path.resolve('./node_modules/vue'));
config.watchOptions({
ignored: /node_modules([\\]+|\/)+(?!vue-grid-layout-v3)/,
// /vue-grid-layout-v3([\\]+|\/)node_modules/
// ]
});
// monaco
config.plugin('monaco')
.use(MonacoWebpackPlugin, [{
languages: ['json', 'typescript', 'javascript', 'sql', 'html', 'css'],
}]);
// svg
const svgRule = config.module.rule('svg');
svgRule.uses.clear();
svgRule.delete('type');
svgRule.delete('generator');
svgRule
.use('vue-loader')
.loader('vue-loader')
.end()
.use('vue-svg-loader')
.loader('vue-svg-loader');
if (process.argv.indexOf('--analyzer') !== -1) {
config.plugin('analyzer')
.use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin);
} else {
config.plugins.delete('analyzer');
}
};
const pages = {
index: {
// page 的入口
entry: 'src/main.js',
// 模板来源
// template: 'index.html',
// 在 dist/index.html 的输出
// filename: 'index.html',
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: '茉莉',
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
// chunks: ['chunk-vendors', 'chunk-common', 'index'],
},
};
module.exports = defineConfig({
transpileDependencies: true,
publicPath: '/',
pages,
devServer,
chainWebpack,
runtimeCompiler: true,
});