我当前正在导入一个纱线工作区软件包,该软件包具有ES6中定义的module
字段,并且使用插件eslint-plugin-import
来填充
我的create-react-app安装程序通过Webpack自动使用module
,但eslint抱怨@mycompany/utils
软件包未定义。
Unable to resolve path to module '@mycompany/utils'. [import/no-unresolved]
所以我的问题是如何让我的短毛猫看着
module
的路径而不是main
这是我的utils包的package.json
{
"name": "@mycompany/utils",
"version": "0.0.2",
"main": "dist/index.js",
"module": "src/index.js"
}
答案 0 :(得分:2)
- 将 eslint-import-resolver-webpack 安装为开发依赖项 https://github.com/benmosher/eslint-plugin-import/tree/master/resolvers/webpack
- 更新您的.eslintrc中的设置
{
"parser": "babel-eslint",
"extends": [
"eslint:recommended",
"plugin:import/recommended",
"plugin:react/recommended"
],
"plugins": ["react"],
"settings": {
"import/resolver": {
"webpack": {
"config": {
"resolve": {
"modules": ["node_modules"]
}
}
}
}
}
}
这是为了更新您的eslint-plugin-import
以便使用webpack
而不是node
进行解析。在webpack解析器中,它将首先自动在module
上方查看您的main
。
https://github.com/benmosher/eslint-plugin-import/blob/master/resolvers/webpack/index.js#L200