npm安装的组件,如果设置成全局组件, 编译到APP会失效 (小程序和H5正常)
如果把npm的组件拷贝到components目录下,再设置全局对象, app也正常了
换句话说,npm安装的组件不能设置全局组件,否则编译到APP会无效
重现步骤:
app-button.vue上传到npm
<template>
<view class="app-button">
<slot></slot>
</view>
</template>
<script>
export default {
}
</script>
<style>
.app-button{
padding: 40upx;
background: red;
color: #fff;
}
</style>
通过npm安装:
npm install --save app-button-testnpm
在main.js设置全局组件
import Vue from 'vue'
import App from './App'
// npm安装的组件,如果设置成全局对象, 编译到APP会失效 (小程序和H5正常)
import AppButton from 'app-button-testnpm/AppButton.vue'
// 需把AppButton.vue拷贝到components才正常
// import AppButton from '@/components/AppButton.vue'
Vue.component('app-button', AppButton)
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()