ошибка отладки React Typescript в VSCode с помощью веб-пакета - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь отладить некоторый код Typescript в VSCode, но каждый раз, когда я пытаюсь отладить, я получаю «документ не определен» в моем index.tsx (это вход в мое приложение React).Я использую webpack для компиляции Typescript в javascript.

packages.json:

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@types/jest": "23.3.13",
    "@types/node": "10.12.19",
    "@types/react": "16.7.22",
    "@types/react-dom": "16.0.11",
    "axios": "^0.18.0",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-scripts": "2.1.3",
    "ts-loader": "^5.3.3",
    "typescript": "3.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

tsconfig.json

{
  "compilerOptions": {
    "target": "es6",
    "jsx": "react",
    "module": "commonjs",
    "types": ["node"],
    "sourceMap": true

  },
  "exclude": [
    "node_modules"
  ]
}

webpack.config.js

module.exports = {
    mode: "development",
    devtool: "inline-source-map",    
    entry: "./src/index.tsx",
    devtool: "cheap-source-map",
    output: {
      filename: "bundle.js",
      publicPath: "./dist",
      devtoolModuleFilenameTemplate: '[absolute-resource-path]'
    },
    resolve: {
      // Add `.ts` and `.tsx` as a resolvable extension.
      extensions: [".ts", ".tsx", ".js"]
    },
    module: {
      rules: [
        // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader`
        { test: /\.tsx?$/, loader: "ts-loader" }
      ]
    }
  };

launch.json

"version": "0.2.0",
    "configurations": [        
        {
            "name": "Launch Program",
            "type": "node",
            "request": "launch",
            "cwd": "${workspaceRoot}",
            "program": "${workspaceRoot}/src/index.tsx",
            "outFiles": [
              "${workspaceRoot}/dist/bundle.js"
            ],
            "sourceMaps": true
          }      
    ]
}

Когда я отлаживаю, я могу получить первую часть моего файла index.tsx:

import * as React from 'react';
import * as  ReactDOM from 'react-dom';
import App from './App'

ReactDOM.render(<App />, document.getElementById("root"));

Но это не удается в документе.getElementById ( "корень"));и говорит, что «документ» не определен

ReferenceError: document is not defined
    at Object../src/index.tsx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...