Npm 在vuetify项目中使用的包中加载vuetify
将vuetify加载到我在vuetify项目中使用的包中的正确方法是什么? 当服务于项目时,一切似乎都很好,但是当我构建项目时,我遇到了css/sass的一些问题 我尝试过的事情:Npm 在vuetify项目中使用的包中加载vuetify,npm,vuejs2,vuetify.js,Npm,Vuejs2,Vuetify.js,将vuetify加载到我在vuetify项目中使用的包中的正确方法是什么? 当服务于项目时,一切似乎都很好,但是当我构建项目时,我遇到了css/sass的一些问题 我尝试过的事情: 使用vuetify加载程序:css加载两次,因此我无法覆盖sass变量 没有vuetify加载程序:这个包没有vuetify css,所以看起来很糟糕 没有vuetify loader with vuetify.min.css:css加载两次,因此我无法覆盖sass变量,而加载的css是所有css,因此它非常庞大
- 使用vuetify加载程序:css加载两次,因此我无法覆盖sass变量
- 没有vuetify加载程序:这个包没有vuetify css,所以看起来很糟糕
- 没有vuetify loader with vuetify.min.css:css加载两次,因此我无法覆盖sass变量,而加载的css是所有css,因此它非常庞大
index.js
(不带vuetify加载程序)的源代码。此时,所有东西都可以在npm run service
上运行,但当我构建包时,它无法“访问”vuetify css
import Vue from 'vue';
import Vuetify from 'vuetify';
import VuetifyResourceComponent from './VuetifyResource.vue';
Vue.use(Vuetify);
const VuetifyResource = {
install(Vue, options) {
Vue.component('vuetify-resource', VuetifyResourceComponent);
},
};
export default VuetifyResource;
为了解决我的问题,我必须做几件事。
例如: Vue.config.js
module.exports = {
configureWebpack: {
externals: {'vuetify/lib': 'vuetify/lib'},
},
};
index.js
import VuetifyResourceComponent from './VuetifyResource.vue';
const VuetifyResource = {
install(Vue, options) {
Vue.component('vuetify-resource', VuetifyResourceComponent);
},
};
export default VuetifyResource;
组件的一部分。vue
import { VDataTable } from 'vuetify/lib';
export default {
name: 'vuetify-resource',
components: {
VDataTable
},
如果您使用
vuetify loader
,则不需要Ricardo答案中的步骤4,它将为您完成这项工作
我将修改第2步,将Vuetify的样式/css从包中排除。如果不排除它们,则当库和应用程序的Vuetify版本不同时,可能会遇到样式问题
在vue.config.js中使用如下正则表达式:
configureWebpack:{externals:/^vuetify\/}
。这样,库包中只包含您自己的样式。我以前也是这样做的,直到我发现这样,我的css在使用此包的项目中加载了两次。因为它导入了两次,其中一个不包含变量。SCS会更改,因此无法更改变量。你是说你没有这种感觉吗?你知道这是不是最近的行为吗?vuetify核心团队的某个人帮助我完成了anwser