-
Notifications
You must be signed in to change notification settings - Fork 6
/
vue.config.js
73 lines (64 loc) · 1.75 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
/**
@Author: Caven Chen
@Date: 2023-05-22
**/
const { defineConfig } = require('@vue/cli-service')
const cesium = 'node_modules/@cesium/engine'
const path = require('path')
const webpack = require('webpack')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
let resolve = (dir) => {
return path.resolve(__dirname, dir)
}
module.exports = defineConfig({
transpileDependencies: true,
chainWebpack: (config) => {
config.resolve.extensions.add('.js').add('.vue').end()
config.module
.rule('images')
.test(/\.(png|jpe?g|gif)(\?.*)?$/)
.use('url-loader')
.loader('url-loader')
.options({
name: 'images/[name].[exts]',
limit: 10000,
})
.end()
config.module
.rule('fonts')
.test(/\.(eot|ttf|woff|woff2)(\?.*)?$/)
.use('url-loader')
.loader('url-loader')
.options({
name: 'fonts/[name].[exts]',
limit: 10000,
})
.end()
config.plugin('copy').use(CopyWebpackPlugin, [
{
patterns: [
{
from: path.join(cesium, 'Build/Workers'),
to: path.join(__dirname, 'dist', 'resources/Workers'),
},
{
from: path.join(cesium, 'Source/Assets'),
to: path.join(__dirname, 'dist', 'resources/Assets'),
},
{
from: path.join(cesium, 'Source/ThirdParty'),
to: path.join(__dirname, 'dist', 'resources/ThirdParty'),
},
],
},
])
config
.plugin('define')
.use(webpack.DefinePlugin, [
{ CESIUM_BASE_URL: JSON.stringify('resources/') },
])
.end()
config.plugin('polyfill').use(NodePolyfillPlugin)
},
})