1

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

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

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

:export {
columnsClasses: $columnsClasses;
}

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

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

我应该如何导出 sass 列表以在 JS 中获取数组?

4

1 回答 1

1

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

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

因此,您必须将其转换为 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);
于 2021-12-05T11:42:32.703 回答