首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未加载Vite的Scss

未加载Vite的Scss
EN

Stack Overflow用户
提问于 2022-02-10 11:28:24
回答 3查看 9K关注 0票数 9

使用Vite和Vue的构建就像一种魅力(因此路径是正确的)。然而,它并没有与故事书。

这里是我的配置:

vite.config.js

代码语言:javascript
复制
import { defineConfig } from 'vite'
import { resolve } from 'path'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  css: {
    preprocessorOptions: {
      scss: { 
         additionalData: `@import "./src/css/global.scss";` 
     },
    },
  },
})

.故事书/main.js:

代码语言:javascript
复制
module.exports = {
  "stories": [
    "../src/**/*.stories.mdx",
    "../src/**/*.stories.@(js|jsx|ts|tsx)"
  ],
  "addons": [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
    "@storybook/preset-scss"
  ],
  "framework": "@storybook/vue3",
  "core": {
    "builder": "storybook-builder-vite"
  }
}

我正在使用故事书建设者- vite,因为vite是用来构建这个项目的。

package.json

代码语言:javascript
复制
"devDependencies": {
    "@storybook/addon-actions": "^6.4.18",
    "@storybook/addon-essentials": "^6.4.18",
    "@storybook/addon-links": "^6.4.18",
    "@storybook/preset-scss": "^1.0.3",
    "@storybook/vue3": "^6.4.18",
    "sass": "^1.49.7",
    "sass-loader": "^12.4.0",
    "storybook-builder-vite": "^0.1.15",
    "typescript": "^4.4.4",
    "vite": "^2.7.2",
    "vue-i18n": "^8.27.0",
    "vue-loader": "^16.8.3",
    "vue-tsc": "^0.29.8"
}

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-02-19 21:45:52

我也遇到过同样的问题。虽然许多vite vue 3样板的方法和你我一样,奇怪的是它没有工作,也许是某个vite版本可能有bug。

唯一对我起作用的是main.ts的导入

代码语言:javascript
复制
import { createApp } from 'vue'
import { createPinia } from 'pinia'

import App from './App.vue'
import router from './router'

//import your scss here
import "@/assets/scss/style.scss";

const app = createApp(App)

app.use(createPinia())
app.use(router)

app.mount('#app')

我的版本:

sass:1.49.8 (这里只需要sass包,而不需要加载程序)

vue:3.2.29

票数 7
EN

Stack Overflow用户

发布于 2022-05-01 00:18:04

只有在前面已经加载/导入了css的情况下,preprocessorOptions.*.additionalData参数才能工作,因此基本上可以使用直接导入大容量main.ts文件的两个选项,也可以在vite.config.js文件中定义任何其他预处理。

不幸的是,https://vitejs.dev/config/#css-preprocessoroptions的文档并没有解释这一点,这确实玷污了一个完美的星期六晚上。

票数 3
EN

Stack Overflow用户

发布于 2022-08-04 22:30:34

以下是对我起作用的东西:

如果没有,请为Vite安装Storybook构建器(@storybook/ builder )

代码语言:javascript
复制
npm install @storybook/builder-vite --save-dev

代码语言:javascript
复制
yarn add --dev @storybook/builder-vite

然后在. .storybook/main.js文件中,

代码语言:javascript
复制
const { mergeConfig } = require('vite');

module.exports = {
  async viteFinal(config, { configType }) {
    // return the customized config
    return mergeConfig(config, {
      css: {
        preprocessorOptions: {
          scss: {
            // Next line will prepend the import in all you scss files as you did with your vite.config.js file
            additionalData: `@import "./src/styles/main";`,
          },
        },
      },
    });
  },
  // ... other options here
};

这里的诀窍是通过故事书中的css.preprocessorOptions.scss文件中的mergeConfig将相同的main.js对象添加到故事书配置中。

基于@storybook/builder-vite文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71064299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档