Машинопись с модулем реагирования на выбор.Сборка не удалась - PullRequest
0 голосов
/ 03 июля 2019

Ошибка происходит напрямую с сервером webpack-dev и когда я пытаюсь сгенерировать сборку.

После некоторых исследований я добавил опцию noImplicitAny в ts-config. Но это не решит мою проблему с модулем реагировать на выбор.

Я думаю, что я что-то упускаю в настройках машинописного текста или в конфигурации веб-пакета. Потому что я не нашел связанную проблему с этим модулем.

Может быть, кто-то может подсказать мне, что я должен изменить в конфигурации, или, может быть, я что-то упустил в конфигурации веб-пакета.
На самом деле я новичок в машинописи и реагирую, возможно, это главная проблема.

Я добавил конфигурационные файлы и консольную ошибку ниже, возможно, я упускаю что-то важное.

Спасибо за вашу поддержку

версия

  • реакция выбора: 3.0.4
  • машинопись: 3.1.6
  • Реакция: 16,8.6
  • @ types / Reaction-select: 3.0.0

Сообщение об ошибке из машинописного текста:

ERROR in ./node_modules/react-select/src/components/Menu.js 5:7
Module parse failed: Unexpected token (5:7)
You may need an appropriate loader to handle this file type.
| import {
|   Component,
>   type Element as ReactElement,
|   type ElementRef,
|   type Node,

Текущая конфигурация веб-пакета:

Конфигурация веб-пакета для проекта


const path = require('path');
const webpack = require('webpack');
module.exports = {
    entry: "./src/index.tsx",
    output: {
        filename: "bundle.js",
        path: __dirname + "/dist"
    },

    // Enable sourcemaps for debugging webpack's output.
    devtool: "source-map",

    resolve: {
        // Add '.ts' and '.tsx' as resolvable extensions.
        extensions: [".ts", ".tsx", ".js", ".json"]
    },

    module: {
        rules: [

            { test: /\.tsx?$/, loader: "awesome-typescript-loader" , options: {
                    cacheDirectory:false,
                    plugins:['react-hot-loader/babel']
                }},


            { enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
        ]
    },


    externals: {
        "react": "React",
        "react-dom": "ReactDOM"
    },


    //Dev server config section
    devServer: {
        contentBase: path.join(__dirname ),
        compress: false,
        watchContentBase: true,
        watchOptions: {
            aggregateTimeout: 300,
            poll: 1000,
            ignored: ['node_modules', 'build', 'dist'],
        },
        port: 9000,
        host:"0.0.0.0",
        hot:true
      }
};

TS config:

{
    "compilerOptions": {
        "outDir": "./dist/",
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "es5",
        "jsx": "react",
        "allowJs": true,
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "strict": true,
        "forceConsistentCasingInFileNames": true,
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": false,
        "noEmit": true,
        "lib": [
            "dom",
            "dom.iterable",
            "esnext",
            "es2017"
          ]
    },
    "include": [
        "./src/**/*"
    ]
}

1 Ответ

1 голос
/ 03 июля 2019

Я решил проблему сейчас, и я также сгенерировал ее ;-) (с поддержкой Webstorm)

Это была проблемная строка кода:

import {NoOptionsMessage} from "react-select/src/components/Menu";

Webstorm может обеспечить отличную поддержку операторов импорта, но я думаю, что иногда полезно проверить, что сгенерировал webstorm.

позор мне; -)

...