Ma structure actuelle du dossier pour tapuscrit:question tsconfig.json multiple avec CommonJS pour Node.js et ES6 pour reactjs
ts_dev
--client
*components.tsx
*tsconfig.json
--server
*server.ts
*tsconfig.json
--share
*utility.ts
Le serveur Node.js a besoin d'utiliser commonjs
modules et es2015
pour le client composants latéraux. Je place la part dossier utilisé par les deux client et serveur sous le serveur répertoire car il a besoin pour commonJS
Node.js.
tsconfig.json dans serveur:
{
"compilerOptions": {
"module": "commonJS",
"target": "es2015",
"moduleResolution": "node",
"outDir": "../../src",
"lib": ["es6", "dom"],
"types": ["reflect-metadata","system"],
"jsx": "react"
},
"exclude": [
"node_modules",
]
}
tsconfig.json dans le client:
{
"compilerOptions": {
"module": "es2015",
"target": "es2015",
"moduleResolution": "node",
"outDir": "../../src",
"lib": ["es6", "dom"],
"types": ["reflect-metadata","system"],
"jsx": "react"
},
"exclude": [
"node_modules",
]
}
Cependant, je trouve que les scripts dans share
sont toujours respectées dans ES6 (Utiliser l'exportation, l'importation etc) au lieu de commonJS, ce qui casse mon serveur. Je soupçonne qu'il est causé par le tsconfig dans le client
. Que puis-je faire pour résoudre ce problème?