【发布时间】:2021-12-08 16:13:46
【问题描述】:
我的 tsconfig.json
{
"compilerOptions": {
"target": "ES2018",
"module": "CommonJS",
"lib": ["ESNext", "ESNext.AsyncIterable"],
"skipLibCheck": true,
"sourceMap": true,
"outDir": "./dist",
"moduleResolution": "node",
"removeComments": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"@config": ["src/config"],
}
},
"exclude": ["node_modules"],
"include": ["./src/**/*.ts"]
}
我很确定 tsconfig 路径没有任何问题,因为我什至可以从我的 IDE 获得路径自动完成功能。但是当我的代码被编译时(tsc --project tsconfig.json)
import { PRODUCTION } from '@config';
// or
import { PRODUCTION } from '@/config';
我得到以下 javascript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _config_1 = require("@config");
console.log(_config_1.PRODUCTION);
//# sourceMappingURL=index.js.map
但 javascript 不理解“@”是什么,因此我收到“找不到模块”错误。我该如何解决这个问题?
【问题讨论】:
标签: node.js typescript typescript2.0