2016-12-30 52 views
1

我使用SCSS與CSS的模塊,像這樣一個文件:流模塊不能與.scss文件中找到

import styles from './Login.scss';

的構建的WebPack工作正常,但我得到一個流量誤差:Required Module Not Found

在我.flowconfig我有

[ignore] 
.*/node_modules/fbjs/.* 
.*/app/main.js 
.*/app/dist/.* 
.*/release/.* 
.*/git/.* 

[include] 

[libs] 

[options] 
esproposal.class_static_fields=enable 
esproposal.class_instance_fields=enable 
esproposal.export_star_as=enable 
module.name_mapper.extension='css' -> '<PROJECT_ROOT>/flow/CSSModule.js.flow' 
module.name_mapper.extension='styl' -> '<PROJECT_ROOT>/flow/CSSModule.js.flow' 
module.name_mapper.extension='png' -> '<PROJECT_ROOT>/flow/WebpackAsset.js.flow' 
module.name_mapper.extension='jpg' -> '<PROJECT_ROOT>/flow/WebpackAsset.js.flow' 
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe 
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue 

我也看到了https://github.com/facebook/flow/issues/338但它並沒有真正有任何解決方案。

有沒有人找到解決此問題的解決方法?

回答

3

可以通過將.scss文件分配給空模塊來解決此錯誤。我只是NPM安裝空,並將此向.flowconfig: module.name_mapper.extension='scss' -> 'empty/object'

+0

但是如果導入文件沒有擴展名呢? –

0

此錯誤更好的解決方案是使用css-modules-flow-types的WebPack插件爲您的CSS模塊的數據流類型。

流量並不瞭解scss擴展,所以你需要將以下添加到您的.flowconfig,在[options]部分:

; Extensions 
module.file_ext=.js 
module.file_ext=.jsx 
module.file_ext=.json 
module.file_ext=.css 
module.file_ext=.scss 

您還應該添加*.scss.flow.gitignore。這些文件不應該簽入,因爲它們是在webpack構建期間自動生成的。