muszę moduły, które należy rozwiązać w oparciu o baseUrl
kodu tak wyjściowym jest użyteczny dla node.jsMaszynopis: Jak rozwiązać bezwzględne ścieżki modułów dla pliku node.js?
to moja src/server/index.ts
import express = require('express');
import {port, databaseUri} from 'server/config';
...
a to mój 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 "jestem w stanie skompilować wszystkie pliki bez błędów, ale wyjście: dist/server/index.js
jest
"use strict";
var express = require("express");
var config_1 = require("server/config");
...
Wynik z Cannot find module 'server/config'
, jeśli próbuję użyć go z node dist/sever/index.js
.
Dlaczego ścieżka nie jest rozwiązana w żaden sposób, aby można było użyć skompilowanego kodu lub jak go rozwiązać. Albo co robię lub myślę w niewłaściwy sposób?
My tsc --version
jest 2.1.4
To jest mój 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"
]
}
Uwaga I nie chcesz korzystać ../../../../relative
ścieżek.
Mój problem został rozwiązany po usunięciu OutDir z tsconfig.json – somerandomusername
, ale zamiast tego masz zagracony folder src zanieczyszczony wygenerowanym '.js',' .map' '.d.ts', zamiast wspólnego folderu dla wszystkich wygenerowanych akta. – Alkasai