J'essaie de convertir les fichiers JSX de mon application ReactJS un à un en TS. Par conséquent, les fichiers JSX et TS s’exécutent simultanément. (D'où l'ajout de règles pour les deux dans le webpack, comme indiqué ci-dessous):
Ceci est la partie de ma config webpack qui traite les fichiers jsx et ts:
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: ["awesome-TypeScript-loader"]
},
{
test: /\.(jsx?)$/,
exclude: /node_modules/,
use: ["babel-loader"]
},
]
}
Mais quand je lance webpack, j'obtiens l'erreur suivante:
La construction du module a échoué: TypeError: Impossible de lire la propriété 'watchRun' de indéfini
Forfaits utilisés:
"webpack": "^2.2.1"
"awesome-TypeScript-loader": "^5.0.0-1",
"TypeScript": "^2.7.2",
"@types/react": "^16.0.40",
"@types/react-dom": "^15.5.7",
"babel-core": "^6.23.1",
"babel-loader": "^6.4.0",
J'ai regardé en ligne, mais je n'ai trouvé nulle part de ressources donnant des indices sur ce problème de watchRun.
Merci.
Le awesome-TypeScript-loader
5.x est compatible avec webpack 4.x, votre version de webpack est trop ancienne. Essayez de mettre à jour votre pack Web vers la version 4.x ou de rétrograder votre version awesome-TypeScript-loader
.
La solution consiste à utiliser la version 4.x Edge du livre de contes, qui dépend de la version correcte de webpack (ce qui n'est pas le cas de la version stable actuelle 3.x).
Exemple: @ storybook/react @ 4.0.0-alpha.8 fonctionne avec [email protected]