Rollup - 允许 :scss 文件中的导出语句导入到 js 中

2024-03-01

我们有一个用 Rollup 构建的 Vue 组件库。开发还处于早期阶段,但到目前为止一切进展顺利,除了这一件事:我们无法从 scss 文件中导出 SASS 变量并将它们导入到 js 文件中。我们习惯于使用:exportWebpack的声明sass-loader。像这样的东西:

断点.scss

@import './unit.scss';

$breakpoint-mobile: 360px;
$breakpoint-tablet: 768px;
$breakpoint-desktop: 1200px;

:export {
  mobile: strip-unit($breakpoint-mobile);
  tablet: strip-unit($breakpoint-tablet);
  desktop: strip-unit($breakpoint-desktop);
}

然后在任何js文件中,我们可以导入样式表import breakpoints from '@/styles/settings/breakpoints.scss' where breakpoints将等于{ mobile: '360', tablet: '768', desktop: '1200' }.

所以它可以很好地与 Webpack 一起使用,但我无法使用 Rollup 使其与 Rollup 一起使用汇总插件样式 https://www.npmjs.com/package/rollup-plugin-styles无需额外的配置(我也尝试过rollup-插件-postcss https://www.npmjs.com/package/rollup-plugin-postcss,结果相同)。我在 Google 上也找不到与该问题相关的任何内容......

这是结果断点.scss由 Rollup 编译:

import n from '../../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js';

var css = ":export{mobile:360;tablet:768;desktop:1200;}";
n(css,{});

export default css;
export { css };
//# sourceMappingURL=breakpoints.scss.js.map

所以看起来它想要注入有意义的样式,但仍然不是我想要的行为。是否已经有可能实现我正在寻找的目标或我需要做出的贡献rollup-plugin-styles添加支持?


Update: 看起来是支持的,请参阅answer https://stackoverflow.com/a/68590252/1280867由 pmrotule 提供。

旧答案: 您所指的功能是可互操作的 CSS (ICSS) https://github.com/css-modules/icss。 正如您所说,流行CSS加载器 https://webpack.js.org/loaders/css-loader/对于基于 webpack 的项目支持它。 据我所知汇总插件样式 https://github.com/Anidetrix/rollup-plugin-styles目前不支持可互操作的 CSS。这是我在项目中仍然使用 webpack 的原因之一。

有一个此功能的未决问题 https://github.com/Anidetrix/rollup-plugin-styles/issues/165.

为该项目做出贡献并添加对 ICSS 的支持是一个好主意,但预计会出现一些有关配置外观的讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rollup - 允许 :scss 文件中的导出语句导入到 js 中 的相关文章

  • node-sass-middleware 只提供一次 css 文件

    我使用 Jade 和 Sass 制作了一个非常简单的 Express 网站 但是我的 node sass 中间件遇到了问题 我的服务器只提供一次 CSS 文件 然后为每个后续请求返回 404 我必须重新启动服务器才能暂时修复它 这是我的代码
  • 链轮 SASS 部分 ERB 延伸

    我注意到 使用最新的 Rails 和 sprockets 版本 3 2 1 和 2 2 0 将 erb 文件扩展名添加到 sass 部分时似乎存在问题 例如如果 somestylefilename css sass 重命名为 somesty
  • SASS 3.2 媒体查询和 Internet Explorer 支持

    我最近实施了这项技术 http thesassway com intermediate responsive web design in sass using media queries in sass 32与SASS 3 2一起使用 co
  • React + Antd + Rollup 组件库“错误:无效的钩子调用。钩子只能在函数组件体内调用”

    我目前正在构建一个 UI 库来简化跨多个应用程序的维护 这些目前使用 Ant Design 一切似乎都很顺利 我在两者中都添加了我的对等依赖项package json and rollup config js 通过外部 我能够让 Rollu
  • SASS 将特定属性从父级扩展/共享/继承到子级,反之亦然

    是否可以将所选 特定属性从父级扩展到 共享给子级 例如不创建变量 main container padding 20px margin 20px ul padding parentPadding margin 0 或相反亦然 就你而言 ma
  • 无法进入由汇总插件替换定义的对象

    在 Svelte 组件中 我尝试访问我在汇总配置文件中设置的对象 我的rollup config js文件看起来像这样 import replace from rollup plugin replace export default rep
  • 使用 Fourseven:scss 在 Meteor 中加载 css

    我正在使用 fourseven scss 来编译 scss 文件 如果我包括我的 这似乎工作正常 scss客户端目录下的文件 不过我想把它们留在我的组件附近 imports ui stylesheets 或者就在组件旁边 imports u
  • 可以在 SASS / Compass 中创建随机数吗?

    我正在开发一个使用 SASS 和 Compass 的项目 并且需要以某种方式在 CSS 文件中得出一些随机数 具体来说 我需要一些 0 到 1 之间的浮点数 单独使用 SASS 和 Compass 可以吗 如果您创建一个 sass 函数 这
  • CSS设置左固定右流体布局

    我需要使用 html 和 css 这样的布局 左侧宽度静态为 250px 右边是流动的 对于屏幕的其他部分 100 250px 我尝试这样做 我正在使用 sass wrapper width 100 margin 0 auto left w
  • Compass (sass) 和 Web 开发人员扩展

    我经常使用 Web 开发人员扩展中的 编辑 css 功能来编辑样式表 这是一个很棒的功能 但编辑 css 并将其复制回编辑器进行保存需要时间 我计划在下一个项目中使用 Compass 我想知道如何使用 SASS Compass 的 编辑 c
  • 预加载背景图像

    我正在构建一个循环显示 3 个不同背景的页面 每 750 毫秒更改一次 为此 我在主体中添加了一个带有相关背景图像的类 并使用 JS 进行了更改 对于第一次循环 它们会闪烁 因为图像必须加载 所以它不会立即出现 因此 我可以使用任何方法来预
  • Webpack 的 sass-loader 构建时间较慢

    Summary 当我们改用 Webpack 处理 SASS 文件时 我们注意到在某些情况下构建时间变得非常慢 使用以下方法测量构建的不同部分的性能后测速插件 https www npmjs com package speed measure
  • 在 Sass mixin 中跳过可选参数

    我有这个 mixin 来处理简单的 CSS3 线性渐变 mixin linear gradient from to dir bottom dir webkit top ie filters false background color to
  • Zurb Foundation:半透明顶栏可能吗?

    有没有办法用 Zurb Foundation 制作一个半透明的顶栏 据我所知 我已经在我的 settings scss file topbar bg color topbar bg topbar dropdown bg topbar dro
  • 使用带有代码分割的汇总时,有什么方法可以保留包的目录结构吗?

    Context 给定这样的项目结构 src a module js b module js util js 两者都在哪里module js文件导入util js 使用以下配置 export default experimentalCodeS
  • 通过 Assets Pipeline 携带 Sass 变量,Rails 3.1 rc1

    我最近将我的 Rails 3 0 项目之一与 3 1 rc1 进行了分支 以尝试新的资产管道 在使用 3 1 之前 我一直在项目中使用 Sass 因此我在单独的配置文件中设置了一些变量和函数 并让所有其他 sass 文件在第一行导入该文件
  • 创建一个跨浏览器 mixin 进行转换:旋转

    我想为 sass 创建一个 mixin 它将对指定元素应用旋转 mixin 应采用一个参数 表示要应用的旋转度数 从 css3please com 我找到了一种使用 CSS 实现此功能的跨浏览器方法 box rotate moz trans
  • SASS/Compass可以将foo.scss编译为foo.min.css和foo.dbg.css吗?

    我想整理一套 scss文件为不同的文件名 在开发中 我想编译例如 foo scss to foo dbg css 未缩小并带有评论 在生产中 我想要例如 foo min css 缩小 有没有办法告诉 SASS Compass 使用什么作为目
  • 无法在 Angular 4 中使用自定义主题

    我正在尝试在我的角度项目中使用我的自定义主题 它没有按预期工作 我收到以下错误 node modules css loader sourceMap false importLoaders 1 node modules postcss loa
  • 将 sass 变量导入 gatsby 组件中引用的第二个 Sass 文件

    我正在使用 Gatsby 构建一个静态站点项目 我已经成功安装了 gatsby sass 插件并让 sass 正常工作 但是 我无法将自定义 sass 变量文件正确导入到其他组件 sass 文件中 下面是我的文件夹结构 src compon

随机推荐

  • 登录失败。用户“NT AUTHORITY\NETWORK”登录失败

    我无法摆脱这个错误 我通过 SSMS 添加了 NT AUTHORITY NETWORK 用户 以及使用此线程作为参考的相关角色 用户 NT AUTHORITY NETWORK SERVICE 登录失败 https stackoverflow
  • jQuery 在顶部留出更多空间

    如何在图表顶部创造更多空间 Now i get this 但我想要这个 这是我的JS代码 table chart each function var colors table chart thead th not first each fu
  • 为什么选择 RelayCommand

    我最近在 WPF 中进行了大量编程 但此时我的 View 和 ViewModel 并未分开 嗯 这是部分的 我所有与文本框中的文本 标签内容 数据网格中的列表等相关的绑定都是由常规属性完成的 其中包含 NotifyPropertyChang
  • 矩阵计算错误

    我正在使用 R 工具来计算 SVD svd m 并且它适用于小矩阵 但当我通过它时20Kx20X矩阵 处理完后 报如下错误 Error in svd m infinite or missing values in x 我检查了一下 没有行或
  • 如果未提供字符编码,HTML5 是否会为 HTML 文档指定默认字符编码?

    通过 HTTP 检索的示例 HTML 文档缺少 a HTTP Content Type header a HTML a HTML 对于 HTML5 是否假定默认字符编码 例如 UTF 8 或者完全由应用程序读取 HTML 文档来选择默认值
  • 取消删除 Google 日历活动

    我有一个 C 应用程序 可以在谷歌日历中创建事件 出于其自身目的 它控制事件的 UID 有时想要删除并重新创建事件 当尝试重新创建与已删除事件具有相同 UID 的事件时 会收到 远程服务器返回错误 409 冲突 我可以通过将 showdel
  • TextView不显示所有文本

    在我的应用程序中 我无法在通知中看到我显示的所有文本 我输入了 n 但这对我没有帮助 我不明白为什么 这是proba xml
  • 使用 feeder 确保 Gadling 中的 CSV 记录

    我用 CSV 在加特林创建了一个简单的馈线 该脚本运行良好 没有出现任何错误 我知道在负载测试期间从 CSV 中获取值 但我怎样才能确保每个用户获得哪个价值 我必须确保第一个用户应使用用户名 user1 和密码 password1 登录 由
  • 如何使用后退按钮返回 CrossWalk 的 XWalkView,或禁用它?

    我第一次尝试时使用下面的代码返回到 webview 中 但由于渲染能力较低 我使用XWalkView代替WebView public boolean onKeyDown int keyCode KeyEvent event WebView
  • 从列表 python 创建字典

    我有很多这种格式的列表 1 O1 0 0000 0 0000 2 AP 35 0000 105 0000 3 EU 47 0000 8 0000 我需要创建一个字典 其中键作为列表中的第一个元素 值作为整个列表 没有一个键是重复的 最好的方
  • 如何使用 c# .net 删除前缀

  • Shibboleth 成功登录后自定义重定向

    我需要在 Shibbolethlogin 之后和重定向到 SP url 之前执行操作 对我来说 最好的解决方案是 Shib 页面登录 gt 登录正常 gt 重定向到我的自定义页面 gt 重定向到 sp url 如果可能的话我该怎么做 有可能
  • 是否可以在 JavaScript 中确定命名窗口是否打开?

    我正在开发一个站点间单点登录项目 并且遇到了一个相当小的问题 当用户注销 父 站点时 需要在包含 子 站点的弹出窗口中加载特定页面 但是 我无法存储对返回值的引用window open 因为必须允许用户在注销之前在每个站点上导航到他们喜欢的
  • 如何从系统函数调用中杀死后台进程

    如何杀死使用 C 语言中的系统函数调用执行的后台进程 例如 我有一个编译的应用程序 称为 fooprocess 然后我想编写一个程序 使用系统函数在后台执行 fooprocess 应用程序 请参阅下面的代码 const char app f
  • 如何将第 3 方 JAR 打包到 EJB jar 中?

    我有一个旧的 J2EE 应用程序 J2EE 1 3 它打包到 EAR 中 并且在 EAR 中 有 WAR 和 EJB JAR 现在 其中一个 EJB JAR 需要引用一些第 3 方库 JAR 那么打包这些 JAR 的最佳位置是什么以及如何打
  • UITableView 部分标题视图在滚动时消失

    我目前在 UITableView 中使用了一些自定义节标题视图 加载 UITableView 时视图会出现 但滚动时会消失 我看过这篇文章 但它似乎已经过时了 tableView 部分标题消失 SWIFT https stackoverfl
  • 如何在 R 中绘制美国各州?

    我可以在整个美国地图上绘制特定州的数据 但我只想用数据绘制州地图 俄克拉荷马州 我怎样才能在R中做到这一点 ggplot geom polygon data all states aes x long y lat group group c
  • 多处理和并行处理之间的比较

    有人能告诉我多处理和并行处理之间的确切区别吗 我有点困惑 感谢您的帮助 多重处理 多重处理是使用两个或多个中央处理单元 单个计算机系统中的 CPU 该术语还指 系统支持多个处理器和 或的能力 在他们之间分配任务的能力 并行处理 在计算机中
  • 如何知道其他线程是否完成?

    我有一个对象 其方法名为StartDownload 启动三个线程 当每个线程执行完毕时如何收到通知 有没有办法知道一个 或全部 线程是否已完成或仍在执行 您可以通过多种方式执行此操作 Use 线程 join http java sun co
  • Rollup - 允许 :scss 文件中的导出语句导入到 js 中

    我们有一个用 Rollup 构建的 Vue 组件库 开发还处于早期阶段 但到目前为止一切进展顺利 除了这一件事 我们无法从 scss 文件中导出 SASS 变量并将它们导入到 js 文件中 我们习惯于使用 exportWebpack的声明s