将 SCSS 文件添加到 VueJS 应用程序,但不是每个组件
Add SCSS file to VueJS app, but not each component
我觉得我对此想得太多了,但我找不到我在这个模式中寻找的东西。
我有一个包含多个组件的 VueJS 应用程序,并且一切正常。我正在使用 style-resources-loader 将我的全局变量和混合等引入每个组件。这按预期工作。
module.exports = {
pluginOptions: {
'style-resources-loader': {
preProcessor: 'scss',
patterns: [
path.resolve(__dirname, './src/styles/variables.scss'),
path.resolve(__dirname, './src/styles/text-mixins.scss'),
path.resolve(__dirname, './src/styles/interactive-mixins.scss'),
],
}
},
}
我也有app级风格sheet。重置、总体布局等。这些不是我想要拉入每个组件的 SCSS 处理的东西——只是我想要在应用程序的最终 CSS 中输出的东西。
我在查找 "how to add SCSS file to Vue" 时发现的所有内容都是关于组件处理的资源加载器。 我不能以这种方式包含全局样式,然后依靠重复数据删除来删除无关的样式 - 导入的全局样式被内置组件范围限定,这会导致膨胀并且通常一个糟糕的模式。
如果可以避免,我也不希望将单独的 Webpack 构建和 CSS 文件作为最终产品。
我可以把它放在根级 App 样式块中,但这不是处理页面级 CSS 的好地方。将这 a/a 组 SCSS 文件与组件分开,但作为 Vue App 的 SCSS 编译的一部分是理想的。
更新
这里有一大块东西,不确定它是如何进入那种状态的,但现在情况并非如此,我无法重新创建它。
将它们放入您的入口点。
从字面上看,在开始时包含 scss。在你的 app.ts 或 app.js 中像这样:
import Vue from 'vue'
import Buefy from 'buefy'
import 'buefy/dist/buefy.css' <-- like this
Vue.use(Buefy)
如果你的 webpack 设置正确,例如vue cli,那就不管scss是怎么找的了。它只会在全球范围内注入它。 Vue 组件也是全局的,除非你指定作用域 scss。
我觉得我对此想得太多了,但我找不到我在这个模式中寻找的东西。
我有一个包含多个组件的 VueJS 应用程序,并且一切正常。我正在使用 style-resources-loader 将我的全局变量和混合等引入每个组件。这按预期工作。
module.exports = {
pluginOptions: {
'style-resources-loader': {
preProcessor: 'scss',
patterns: [
path.resolve(__dirname, './src/styles/variables.scss'),
path.resolve(__dirname, './src/styles/text-mixins.scss'),
path.resolve(__dirname, './src/styles/interactive-mixins.scss'),
],
}
},
}
我也有app级风格sheet。重置、总体布局等。这些不是我想要拉入每个组件的 SCSS 处理的东西——只是我想要在应用程序的最终 CSS 中输出的东西。
我在查找 "how to add SCSS file to Vue" 时发现的所有内容都是关于组件处理的资源加载器。 我不能以这种方式包含全局样式,然后依靠重复数据删除来删除无关的样式 - 导入的全局样式被内置组件范围限定,这会导致膨胀并且通常一个糟糕的模式。
如果可以避免,我也不希望将单独的 Webpack 构建和 CSS 文件作为最终产品。
我可以把它放在根级 App 样式块中,但这不是处理页面级 CSS 的好地方。将这 a/a 组 SCSS 文件与组件分开,但作为 Vue App 的 SCSS 编译的一部分是理想的。
更新
这里有一大块东西,不确定它是如何进入那种状态的,但现在情况并非如此,我无法重新创建它。
将它们放入您的入口点。 从字面上看,在开始时包含 scss。在你的 app.ts 或 app.js 中像这样:
import Vue from 'vue'
import Buefy from 'buefy'
import 'buefy/dist/buefy.css' <-- like this
Vue.use(Buefy)
如果你的 webpack 设置正确,例如vue cli,那就不管scss是怎么找的了。它只会在全球范围内注入它。 Vue 组件也是全局的,除非你指定作用域 scss。