需求:我的需求是在vue3+vue/cli4中开发环境用本地资源包,在生产环境使用外部cdn。现在遇到的问题是vue2+vue/cli3中这样配置是可以达到需求的,但是vue3中还是打包到了资源包代码。
配置:
<% if(process.env.NODE_ENV === "production") { %>
<script src="https://www.xxxx.cn/js/vue@3.js"></script>
<script src="https://www.xxxx.cn/js/vant@3.min.js"></script>
<% } %>
vue.config.js
// 在生产环境下将 Vue、Vant配置为外部依赖项
chainWebpack: config => {
if (process.env.NODE_ENV === 'production') {
config.externals({
vue: 'Vue',
vant: 'vant'
});
}
}
业务代码引入的组件
import { onMounted, ref, provide } from 'vue'
import {
Image as VanImage,
Popup,
Form,
Field,
CellGroup,
Toast,
Dialog
} from 'vant'
export default {
name: 'index',
components: {
[Popup.name]: Popup,
[VanImage.name]: VanImage,
[Form.name]: Form,
[Field.name]: Field,
[CellGroup.name]: CellGroup,
[Toast.name]: Toast,
[Dialog.name]: Dialog
},
【相关推荐】
outputDir: process.env.outputDir,