yangyanggu / vue-amap

高德地图封装 for vue2 vue3.0
https://vue-amap.guyixi.cn/
MIT License
287 stars 17 forks source link

vue3+webpack4 打包的时候报错 #72

Closed kireiyume closed 10 months ago

kireiyume commented 10 months ago

使用版本

"@vuemap/vue-amap": "2.0.24", "vue": "^3.2.4",

node:16.20, npm : 8.19.4

问题描述

打包构建的时候提示: js/chunk-vendors.eb07b78b.js from Terser Invalid assignment [js/chunk-vendors.eb07b78b.js:224969,50] vue.config:

const { getThemeVariables } = require('ant-design-vue/dist/theme'); module.exports = { publicPath: './', productionSourceMap: false, css: { loaderOptions: { less: { lessOptions: { modifyVars: getThemeVariables({ dark: true, // 开启暗黑模式 }), javascriptEnabled: true, }, }, }, }, configureWebpack: { module: { unknownContextCritical: false }, devServer: { headers: { 'Access-Control-Allow-Origin': '*', }, proxy: { '/': { target: process.env.VUE_APP_API_BASE_URL, changeOrigin: true, pathRewrite: { '/': '' } } }, https: false }, } }

yangyanggu commented 10 months ago

这个错误是由于env环境的污染引起的,项目中有个依赖包读取了process对象,你可以看看你是不是对env做了什么define的操作

yangyanggu commented 10 months ago

有两种方案处理,第一个就是处理自己的env,第二个就是使用按需加载方式,不打包区划聚合插件

kireiyume commented 10 months ago

有两种方案处理,第一个就是处理自己的env,第二个就是使用按需加载方式,不打包区划聚合插件

请问怎样处理env呢?挨个排除依赖包,然后卸载?第二个按需加载,能否示例下,不胜感激。

yangyanggu commented 10 months ago

按需加载就是在使用地图的地方通过import的方式只加载需要的组件,官网示例里面的代码就是标准的按需加载代码,别在mian.js里直接use整个包

yangyanggu commented 10 months ago

或者你也可以提供一个最小的项目示例,我看看问题在哪

kireiyume commented 10 months ago

好的