将node-sass-json-importer集成到Angular CLI应用程序中

时间:2016-12-21 10:51:44

标签: javascript angular sass angular-cli node-sass

尝试将node-sass-json-importer添加到Angular CLI应用程序中。

我使用的是CLI的1.0.0-beta.17版本,但是还没有能够使用当前版本1.2来解决这个问题。通过纱线安装后,我不知道应该在应用程序配置中设置它。

有没有人成功将其整合到他们的应用程序中?我能找到的only answer是针对使用Webpack的应用程序,而不是针对Angular CLI。

2 个答案:

答案 0 :(得分:4)

  

通过更改styles.js

解决了这个问题
node_modules/@angular/cli/models/webpack-configs/styles.js 

在上面的文件中,按照下面的说明进行编辑

const jsonImporter = require('node-sass-json-importer');
  

并在.scss

规则中添加importer:jsonImporter
{ test: /\.scss$|\.sass$/, use: [{
                    loader: 'sass-loader',
                    options: {
                        sourceMap: cssSourceMap,
                        // bootstrap-sass requires a minimum precision of 8
                        precision: 8,
                        includePaths,
                        importer: jsonImporter,
                    }
                }]
        }

这可能不是最好的解决方案但是解决了你的问题,我没有选择将args传递给node-sass,在这种情况下它是--importer'./node_modules/node-sass-json-进口商',

根据此链接https://github.com/angular/angular-cli/issues/1791,它仅允许includePaths选项。

希望这有帮助!!!

答案 1 :(得分:-1)

如果使用css-loader,则可以启用模块功能。启用它将为您提供导入css的灵活性,就像需要javascript对象一样。我用过反应,你可以做同样的角度猜测。这是非常酷的功能,你应该检查一下。

commit

https://github.com/webpack-contrib/css-loader https://javascriptplayground.com/css-modules-webpack-react/