【发布时间】:2020-06-16 00:59:16
【问题描述】:
在 Angular 应用程序中,我通过普通的 D3 或 Vega 进行 D3 视觉效果。还有 SCSS 样式。
我希望能够从 Javascript 和 SCSS 引用相同的全局变量来进行样式设置。 JSON 文件可以很好地存储我通过简单的import 语句加载到 Typescript 中的设置。但是如何从 SCSS 做同样的事情呢?
node-sass-json-importer 似乎是一个不错的候选者,但将其添加到 Angular 9 CLI 应用程序对我来说并不明显。
This StackOverflow post 前段时间刷过这个话题,但涉及到修改node_modules 下的资源,这很难持续。
原始文档中也有一些关于how one can go about tweaking webpack in a non-Angular app 的输入。我不知道如何将它与通过 CLI 构建的 Angular 应用程序联系起来。
Webpack / sass-loader 块引用
Webpack v1
import jsonImporter from 'node-sass-json-importer';
// Webpack config
export default {
module: {
loaders: [{
test: /\.scss$/,
loaders: ["style", "css", "sass"]
}],
},
// Apply the JSON importer via sass-loader's options.
sassLoader: {
importer: jsonImporter()
}
};
Webpack v2
import jsonImporter from 'node-sass-json-importer';
// Webpack config
export default {
module: {
rules: [
test: /\.scss$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1
},
},
{
loader: 'sass-loader',
// Apply the JSON importer via sass-loader's options.
options: {
importer: jsonImporter(),
},
},
],
],
},
};
【问题讨论】:
-
它似乎与 node-sass-json-importer 有关,但我剩下的挑战是让它在 Angular 9 CLI 应用程序中工作
-
我没有投反对票。任何人都可以投反对票,而不仅仅是 OP。
标签: json angular sass angular9 node-sass-json-importer