tsconfig - TypeScript: Hvordan importere fra overordnet mappe når kompilering legger til dybde i prosjektstrukturen
Min prosjektstruktur er som følger
dist
|- src
| |- s.js
|- test
|- t.js
node_modules
results
|- r.json
src
|- s.ts
test
|- t.ts
tsconfig.json
typings.d.ts
s.ts importerer r.json som følger:
import * as results from '../results/r.json';Åpenbart fungerer ikke dette etter kompilering siden results nå er to mapper opp...
Hva er den riktige måten å fikse dette på? Nedenfor er min tsconfig.json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"inlineSourceMap": true,
"lib": [
"dom",
"es2015"
],
"moduleResolution": "node",
"outDir": "dist/",
"target": "es5",
"typeRoots": [
"node_modules/@types",
"./typings.d.ts"
]
},
"include": [
"src/**/*.ts",
"results/r.json",
"test/**/*.ts",
"./typings.d.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Svar #1
Den beste måten er å unngå dette helt. Prøv å få dybdenivået til å samsvare.
f.eks.
root
dist-es5
index.ts
index.spec.ts
src
index.ts
index.spec.ts
Når det gjelder å holde test-/spesifikasjonskoden unna distribusjon, kan du ha flere tsconfig.json, for eksempel kan du ta en titt på: Set up tsconfig med spesifikasjons-/testmappe
