Débogage tapuscrit avec la source des cartes et des webpack
J'ai projet écrit en caractères d'imprimerie et je veux être en mesure de le corriger (en Chrome Dev Tools
ou dans Intellij
).
Au premier abord, j'ai vu que la Machine est import
fonctionnalité n'était pas pris en charge. J'ai donc essayé d'utiliser Webpack
avec webpack dev server
mais cela a échoué complètement. Même si ma demande a été de travail (en raison d'avoir un seul bundle.js
fichier qui a tout le code), il serait impossible de faire correspondre avec le code source donné des cartes et cela rend le débogage impossible.
Après j'ai cessé d'utiliser webpack j'ai essayé d'ajouter require.js
comme une dépendance de résoudre le require is not defined
erreur que je recevais. Qui a fonctionné mais maintenant je suis coincé à nouveau et se présente:
Uncaught ReferenceError: les exportations n'est pas défini
Je n'ai aucune idée de pourquoi cela ne fonctionne pas. Je veux faire ma demande de travail (que ce soit par webpack ou d'être en mesure de résoudre les déclarations d'importation après transpilation) et toujours être en mesure de déboguer le code à l'aide de la machine-produit de la source-cartes. Comment puis-je y parvenir?
Je suis joins mes fichiers de config dans le cas où il y a quelque chose qui manque:
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"sourceMap": true
},
"include": [
"scripts/**/*"
],
"exclude": [
"node_modules"
]
}
webpack.config.js:
module.exports = {
resolve: {
extensions: [/*'.ts', '.tsx', */'.js']
},
entry: './scripts/main.js',
output: {
path: '/',
filename: 'app.js'
},
module: {
rules: [
{ test: /\.js$/, loader: 'source-map-loader', enforce: 'pre' }
],
loaders: [
{ test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/ },
{test: /\.css$/, loader: "style!css"}
]
},
watch: true
};
OriginalL'auteur Konstantine | 2017-03-19
Vous devez vous connecter pour publier un commentaire.
Pour activer le débogage avec webpack, ajouter
devtool: "source-map"
à votrewebpack.config.js
.Pour charger les fichiers à l'aide de
require.js
, changement"module": "amd"
danstsconfig.json
.require.js
ne prend pas en charge le chargementcommonjs
modules.webpack-dev-server
ET par le biais de l'Ide, avec correctement mappé et transpiled TapuscritOriginalL'auteur Saravana
Je vais poster une réponse ici. Cette réponse peut pas travail pour vous (Voir l'Étape 5). Il varie énormément d'une personne à l'autre. Après tant de jours passés dans la recherche, robin-un-meade du poste de GitHub a été celui qui a cloué.
Avant le départ, le principal problème semble résider dans la source de la cartographie de l'URL de l'intérieur de la VS Code de Débogage du fichier de Configuration, et comment il (VS Code) voit l'application. Ceci est indépendant de toute arrière-fin de la pile que vous utilisez (E. g Express, .NET Core, Django, etc.). La seule chose que vous devez être conscient de, c'est que Google Chrome charge correctement la source générée carte lorsque votre application est en cours d'exécution.
Utilisé:
Installer Google Chrome Extension:
1) Cliquez sur l'icône carrée sur la gauche.
2,3), de type "Débogueur pour Chrome" sans virgule et cliquez sur installer.
Configuration du débogueur:
4) Cliquez sur le bug de l'icône.
5) Cliquez sur l'icône d'engrenage. Cela va ouvrir "le lancement.json", qui est utilisé pour la configuration et le débogage de Code de Visual Studio.
Maintenant. C'est là que ça devient vraiment difficile. C'est la partie qu'il peut ou peut ne pas fonctionner pour vous.
Encore une fois, grâce à la robin-un-meade à partir de GitHub dont le code du travail:
6) Entrez les informations suivantes. Cela va lancer un Google Chrome instance avec
http://localhost
dans l'URL. Ensuite, il va utiliser lawebpack://
chemin d'accès à la recherche pour le Webpack mappages. C'est vraiment délicat et vous pourriez avoir à essayer différentes combinaisons pour voir ce qui fonctionne.Si vous utilisez Firefox, essayez d'utiliser celui-ci:
Webpack Configuration
Ajouter:
outil développeur d'internet explorer : "source" plan
À votre webpack de configuration. Cela devrait passer sous les modules.l'exportation de l'objet.
Run/Construire le projet avec Webpack, ce qui devrait générer la source-carte (Vérifier si la carte source est généré, sinon rien ne fonctionnera!):
Alors vous devriez être prêt à aller:
Appuyez sur le bouton "lecture" dans le débogage et cela devrait fonctionner!
Rappelez-vous, tout fichier est pas importés dans votre main .js fichier (où vous avez toutes vos importations et nécessite), ne sera pas en mesure d'avoir un point d'arrêt défini.
Si cela ne fonctionne pas, vérifiez cette liste d'Url qui peuvent vous aider.
Pour générer soruce cartes:
Comment puis-je générer sourcemaps lors de l'utilisation de babel et webpack?
Également intéressant de noter ici -- Après que vous avez la bundled.js source de la carte, essayez et de débogage dans le navigateur dev console, de cette façon, vous savez les cartes fonctionnent correctement.
OriginalL'auteur Jose A