我正在使用一个nodejs应用程序,我想在tsconfig.json中配置我的路径,但我遇到了路径配置问题,我一直收到错误Error: Cannot find module '@environment'
。
配置
{
"compilerOptions": {
"resolveJsonModule" : true,
"target": "es6",
"module": "commonjs" ,
"lib": [
"dom",
"es6"
],
"outDir": "build",
"rootDir": "src",
"removeComments": true ,
"strict": true,
"noImplicitAny": true,
"baseUrl": "./",
"paths": {
"@lime/*": ["src/*"],
"@environment": ["src/config/environment.ts"],
},
"esModuleInterop": true
}
}
项目树:
src - config - environment.ts
...
- index.js
package.json
tsconfig.json
...
environment.ts
import * as dotenv from 'dotenv';
dotenv.config();
interface Environment {
port: number | string,
baseUrl: string,
databaseUri: string,
}
export const environment: Environment = {
port: process.env.PORT!,
baseUrl: process.env.BASE_URL!,
databaseUri: process.env.DATABASE_URI!
}
在index.ts
中,我导入了环境。ts作为import { environment } from '@environment';
,请说明可能出现了什么错误?
3条答案
按热度按时间wbgh16ku1#
如果您尝试直接使用
node
或ts-node
执行此操作,则应注意默认情况下tsconfig
路径不按节点解析。如果您使用tsc
进行构建(而不是使用webpack或类似工具生成bundle),则可以将依赖项tsconfig-paths
添加到依赖项中,如下所示:然后使用以下命令执行代码:
如果您将TS代码直接用于
ts-node
,则可以用途:在生产中,建议将源代码与webpack捆绑在一起,并在捆绑时使用
tsconfig-paths-webpack-plugin)
这样的插件来解析路径。yruzcnhs2#
我可能不确定,我检查了文档。似乎路径应该是目录。请尝试这个组合。
并导入如下内容:
import { environment } from '@environment/environment'
q35jwt9p3#
tsconfig.json
babel.config.js