我看到很多相关的问题,但是没有一个答案适用于我的场景。在一个Node.js应用程序(Node.js版本v13.5.0)中,我有两个文件start.ts
和app.ts
,它们位于根目录下,它们如下所示:
start.ts:
import app from './app';
console.log(app);
app.ts:
const app = {};
export default app;
tsconfig.json:
{
"compilerOptions": {
"allowJs": true,
"baseUrl": ".",
"esModuleInterop": true,
"lib": ["esnext", "es2015"],
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./build",
"pretty": true,
"resolveJsonModule": true,
"sourceMap": true,
"target": "es6"
},
"include": ["start.ts", "app.ts", "src/**/*.ts"],
"exclude": ["node_modules", "build"]
}
但是当我尝试使用
ts-node
运行start.ts
时,出现了以下错误:Error: Cannot find module /<project_directory>/app imported from /<project_directory>/start.ts
at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:96:13)
at Loader.resolve (internal/modules/esm/loader.js:72:33)
at Loader.getModuleJob (internal/modules/esm/loader.js:156:40)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:42:40)
at link (internal/modules/esm/module_job.js:41:36)
我也尝试过在导入时添加文件扩展名,但是这样会出现未知的文件扩展名“.ts”错误。看起来我不需要类型定义,因为应用程序只是一个简单的对象,但是它为什么在找模块时出现问题呢?谢谢。