导入本地文件未解决
Import local file not resolved
(短篇)
我有两个打字稿文件:renderer.tsx
和 app.tsx
。
我想将后者导入前者,所以我使用:
import './app'
然而,VS Code 在抱怨(实际上我猜 ESlint 在抱怨):
消除此错误的先决条件是什么?
我见过其他语法完全相同的项目,没有任何问题。
(长话短说)
我想学习如何使用 TypeScript 和 React 构建 Electron 应用程序。我在 electron-forge 文档中找到 this guide。
遵循指南在运行时有效,但 VS Code 显示错误。
我做了什么:
yarn create electron-app my-app --template=typescript-webpack
cd my-app
yarn add react react-dom
yarn add --dev @types/react @types/react-dom
已创建 src/app.tsx
文件(与其他文件位于同一目录):
import * as React from 'react';
import * as ReactDOM from 'react-dom';
function render() {
ReactDOM.render(<h2>Hello from React!</h2>, document.body);
}
render();
并在 renderer.tsx
文件的末尾添加:
import './app'
最后,在tsconfig.json
中添加了"jsx": "react"
运行 yarn start
有效,应用程序按预期启动
这很好用,应用程序打开了。
但是 VS Code 显示了我上面提到的错误:( (Unable to resolve path to module './app' .eslintimport/no-unresolved
)
如何修复?
我不知道这是否是解决我的问题的正确方法,但在 .eslintrc.json
文件中添加这些行解决了问题:
"settings": {
"import/resolver": {
"node": {
"extensions": [
".js",
".json",
".ts",
".tsx"
]
}
}
}
(特别是在扩展中包含 .tsx
)。
我想这会让 eslint 尝试将这些扩展作为模块文件来处理。
(短篇)
我有两个打字稿文件:renderer.tsx
和 app.tsx
。
我想将后者导入前者,所以我使用:
import './app'
然而,VS Code 在抱怨(实际上我猜 ESlint 在抱怨):
消除此错误的先决条件是什么?
我见过其他语法完全相同的项目,没有任何问题。
(长话短说)
我想学习如何使用 TypeScript 和 React 构建 Electron 应用程序。我在 electron-forge 文档中找到 this guide。
遵循指南在运行时有效,但 VS Code 显示错误。
我做了什么:
yarn create electron-app my-app --template=typescript-webpack
cd my-app
yarn add react react-dom
yarn add --dev @types/react @types/react-dom
已创建 src/app.tsx
文件(与其他文件位于同一目录):
import * as React from 'react';
import * as ReactDOM from 'react-dom';
function render() {
ReactDOM.render(<h2>Hello from React!</h2>, document.body);
}
render();
并在 renderer.tsx
文件的末尾添加:
import './app'
最后,在tsconfig.json
"jsx": "react"
运行 yarn start
有效,应用程序按预期启动
这很好用,应用程序打开了。
但是 VS Code 显示了我上面提到的错误:( (Unable to resolve path to module './app' .eslintimport/no-unresolved
)
如何修复?
我不知道这是否是解决我的问题的正确方法,但在 .eslintrc.json
文件中添加这些行解决了问题:
"settings": {
"import/resolver": {
"node": {
"extensions": [
".js",
".json",
".ts",
".tsx"
]
}
}
}
(特别是在扩展中包含 .tsx
)。
我想这会让 eslint 尝试将这些扩展作为模块文件来处理。