如何将 sass 列表作为数组导出到 js 文件

Posted

技术标签:

【中文标题】如何将 sass 列表作为数组导出到 js 文件【英文标题】:How to export sass list as array to js file 【发布时间】:2022-01-10 02:44:24 【问题描述】:

我有一个包含 sass 变量的文件,它有一个这样的列表:

$columnsClasses: 'Id', 'Phase', 'Status', 'Source', 'Date'

所以我在同一个文件中写了以下内容来导出这个列表

:export 
columnsClasses: $columnsClasses;

由于某些原因,我需要将此列表导入 JS 文件。但是当我这样做时,我只得到一个大字符串而不是数组。

像这样:'"Id", "Phase", "Status", "Source", "Date"'

在JS中如何导出sass列表来获取数组?

【问题讨论】:

也许不可能……您是否尝试用括号或方括号编写您的列表? 数组确实不是 SASS 的一部分 【参考方案1】:

目前ICSS 将任何导出的值视为文字字符串(我不知道是否可以使用任何可互换的数据类型语法扩展提案)。

exportedValue 不需要被引用,它已经被视为文字字符串。

因此,您必须将其转换为 javascript 中的数组。 不过,您可以做的是利用有用的、已建立的和标准化的 JSON 语法,然后自己添加括号:

// constants.module.scss
$columnsClasses: 'Id', 'Phase', 'Status', 'Source', 'Date';

:export 
    columnsClasses: [$columnsClasses];

在你的 js 中

import constants from './constants.module.scss'

const columnsClasses = JSON.parse(constants.columnsClasses);

columnsClasses.forEach(console.log);

【讨论】:

以上是关于如何将 sass 列表作为数组导出到 js 文件的主要内容,如果未能解决你的问题,请参考以下文章

将 SASS/SCSS 变量导出到 Javascript,而不将它们导出到 CSS

React JS将项目推送到数组以获取列表

如何在节点 js 中使用 module.exports 导出数组?

如何在 Vue.js 中显示 Firebase 数组项

如何将具有元素数组的每个对象的对象列表转换为具有子元素作为属性的对象数组

将文本表的数据导出为 .csv (Tableau)