@tonyshow

Как настроить Type Script c React (.tsx) используя babel 7, через настройки в конфиге webpack 4?

Как настроить Type Script c React (.tsx) используя babel 7, через настройки в конфиге webpack 4?

Использую следующие настройки babel в webpack config'e:
module.exports = () => ({
  module: {
    rules: [
      {
        test: /\.j|tsx?$/,
        loader: 'babel-loader',
        exclude: /\/node_modules\//,
        options: {
          presets: [
            '@babel/preset-env',
            '@babel/preset-react',
            ["@babel/preset-typescript", {
              "isTSX": true,
              "allExtensions": true
            }]
          ],
          plugins: [
            '@babel/plugin-proposal-class-properties'
          ],
        }
      }
    ]
  }
});


Сам код файла test.tsx ошибок не выдает в кончоли все чисто:
import React, { PureComponent } from 'react';
import './test.pcss';

interface Props {
  name: boolean
}

export default class Test extends PureComponent<Props> {
  render() {
    const { name } = this.props;
    return (
      <div className="test">
        <span>{name}</span>
      </div>
    )
  }
}


Инициализация пропса name в компоненте Test:
import ReactDOM from 'react-dom';
import React from 'react';
import Test from './tmp';

document.addEventListener('DOMContentLoaded', ()=> {
  ReactDOM.render(
    <Test name={12312312}/>,
    test
  );
});


Помогите пожалуйста ребята, сложно самому разобраться, почему ошибок нет, формат же данных неверный, длолжна быть строка, а я передаю число
  • Вопрос задан
  • 1467 просмотров
Решения вопроса 1
Riveran
@Riveran
Astartes
Я не эксперт, но вроде для ts не нужен babel.
Для ts используется "ts-loader" или "awesome-typescript-loader". В доке вроде есть краткий конфиг вебпака для React + ts.
Я пару месяцев назад делал свой стартовый конфиг для проектов, он очень прост и легко масштабируем, если хочешь можешь взять за основу его https://github.com/Riveran/react-redux-ts-scss-boi...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@disappearedstar
Фронтенд-разработчик
Babel с пресетом TypeScript не выполняет проверки, а лишь вырезает аннотации типов из кода.

Для тайпчекинга нужно либо запустить на проекте компилятор TypeScript (node_modules/.bin/tsc), либо настроить fork-ts-checker-webpack-plugin.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы