I need modules to be resolved basing on baseUrl
so output code is usable for node.js
this is my src/server/index.ts
import express = require('express');
import {port, databaseUri} from 'server/config';
...
and this is my src/server/config/index.ts
export const databaseUri: string = process.env.DATABASE_URI || process.env.MONGODB_URI;
export const port: number = process.env.PORT || 1337;
Running tsc
I'm able to compile all files without erros, but output: dist/server/index.js
is
"use strict";
var express = require("express");
var config_1 = require("server/config");
...
Resulting with Cannot find module 'server/config'
if I'm trying to use it with node dist/sever/index.js
.
Why server/config
path is not resolved in any way so it would be possible to use compiled code or how to make it resolve it. Or what am I doing or thinking wrong way?
My tsc --version
is 2.1.4
This is my tsconfig.json
:
{
"compileOnSave": true,
"compilerOptions": {
"baseUrl": "./src",
"rootDir": "./src",
"module": "commonjs",
"target": "es5",
"typeRoots": ["./src/types", ".node_modules/@types"],
"outDir": "./dist"
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
Note I don't want to use ../../../../relative
paths.
.js
,.map
.d.ts
, instead of a common folder for all the generated files. – Cornel