我在Webpack上有一个项目,我正尝试安装SASS transpiling。我相信我相当接近,尽管我的配置有问题(code and details in the gist here)。如何使用ESLint解决导入/未解决的错误?
用,因为它是代码运行的WebPack产生以下错误:
/foobar/src/js/components/App.jsx
6:8 error Unable to resolve path to module '../../scss/components/app' import/no-unresolved
已经花在这一段时间,我注意到,如果我import '../../scss/components/app.scss'
替换App.jsx
的import 'scss/components/app'
路线,transpilation作品。这使我相信有两个问题:
- 我的
resolve.root
Webpack配置不工作,因为相对导入工作,但不是绝对的。 - 我的
resolve.extensions
也没有应用Webpack配置,因为我需要附加.scss
文件扩展名才能正常工作。
其他说明:
- 我使用的WebPack 1.13.1。
- 如果我有意将语法错误引入SCSS文件,webpack会正确提示我有关该文件的问题。
- 我也尝试将我的
resolve.root
配置设置为一个数组(即[path.resolve(__dirname, './src')]
)无济于事。 - 从目标方面来说,我希望能实现类似于this example的东西。
- 我试过用
console-loader
调试import
路径,并得到undefined
。
任何帮助将不胜感激,谢谢!
UPDATE: 一位朋友刚刚分享,这个问题是不是从sass-loader
来的/ etc,但是从eslint
。这意味着这个问题的性质将会非常不同(更少的webpack,更重要)。
无论如何,我的.eslintrc
延伸AirBNB的,我猜我需要根据this plugin的细节修改它。
感兴趣的部分是:
settings:
import/ignore:
- node_modules # mostly CommonJS (ignored by default)
- \.coffee$ # fraught with parse errors
- \.(scss|less|css)$ # can't parse unprocessed CSS modules, either
我已经更新了我.eslintrc
类似于:
{
"extends": "airbnb",
"settings": {
"import/ignore": [".scss$"]
}
}
,但我仍然得到错误。有任何想法吗?
感谢您的快速响应!将ESLint从'module.loaders'移动到'module.preloaders'确实解决了这个问题。 –