记录一下打包中遇到的问题
1、打包域名屏幕,已经最开始用cross-env,后来用.env.devaa
替换了process.env.VUE_APP_ENV
(不能process.env.NODE_ENV ,这样打包时js 和css没了)
但是还有没替换干净的!。。。。。
找了半天,竟然是在node_modules里。
解决方案:
换用require
我是直接在使用的文件里再去require的,没有在main。js里用了,
但是这两者有一点点不同,console下可以看到多一个module,所以调用的时候额外要加一个.default
不然获取不到了~
-
在main.js中添加一个变量到Vue.prototype
Vue.prototype.$appName = 'My App' -
这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以
2 map文件里还是有域名
map文件应该是被屏幕的,参见source map那篇文章
打包后产生后缀名为.map的文件是由于配置了sourcemap选项生成的
productionSourceMap:false
nginx里有没事proxy pass,会被屏蔽
3、一直打包失败,报错
Error: Callback was already called.
解决:路径大小写重新进下终端
参考https://stackoverflow.com/questions/66028314/error-node-modules-callback-was-already-called ,
但是不要看最高票的全升级,会升级成vue3(??)
下面有一个人说路径大小写,仔细检查发现确实,因为之前习惯ccd连续打三个,还真是大小写