Vue.js 使用“目标”构建Vue应用程序;Web组件";-未应用SCSS样式?

Vue.js 使用“目标”构建Vue应用程序;Web组件";-未应用SCSS样式?,vue.js,sass,vuejs2,Vue.js,Sass,Vuejs2,所以我有一个非常小的应用程序,我已经建立了,我想集成到一个网站作为一个网络组件。因此,我使用vue cli服务构建--target wc--inline vue--name of component 但是,不包括SCSS样式?它在开发期间的实时重新加载中工作良好。将SCSS文件导入main.js文件,如下所示: import Vue from 'vue'; import App from './App.vue'; import store from './store'; import './as

所以我有一个非常小的应用程序,我已经建立了,我想集成到一个网站作为一个网络组件。因此,我使用
vue cli服务构建--target wc--inline vue--name of component

但是,不包括SCSS样式?它在开发期间的实时重新加载中工作良好。将SCSS文件导入main.js文件,如下所示:

import Vue from 'vue';
import App from './App.vue';
import store from './store';
import './assets/main.scss';

Vue.config.productionTip = false;

new Vue({
    store,
    render: (h) => h(App),
}).$mount('#app');

我不知道为什么,但一种解决方法是在
块中导入SCS,而不是


@导入“~@/assets/main.scss”;

我不知道为什么,但一种解决方法是在
块中导入SCS,而不是


@导入“~@/assets/main.scss”;

我找到了一种混合进口的解决方案,就像tony19所说的:

<style lang="scss">
@import '~@/assets/main.scss';
</style>

@导入“~@/assets/main.scss”;
然后使用
sass main.scss main.css
,并在与web组件相同的文档中包含
。这样就正确地应用了样式


通常,我建议在CDN上托管css、字体、图像、SVG等任何资产,并在web组件中使用资产的完整url,这样您就不必在使用该组件的网页上包含这些资产。

我找到了一个解决方案,它是一种混合导入的解决方案,如tony19所述:

<style lang="scss">
@import '~@/assets/main.scss';
</style>

@导入“~@/assets/main.scss”;
然后使用
sass main.scss main.css
,并在与web组件相同的文档中包含
。这样就正确地应用了样式

通常,我建议在CDN上托管任何资产,如css、字体、图像、SVG等,并在web组件中使用该资产的完整url,这样您就不必在使用该组件的网页上包含这些资产