Проблемы с импортом файлов Typescript и Js в модули узлов

Я импортирую папку модуля узла, которая содержит файлы Typescript и JS. Я использую ts-loader для машинописного текста, но по какой-то причине он создает длинный список ошибок, и я думаю, это из-за того, что оба файла находятся вместе. Я сам не могу трогать эти файлы, может, есть способ лучше настроить ts-loader?

Это мой tsconfig.json

{
"compilerOptions": {
    "target": "es2015",
    "module": "es2015",
    "moduleResolution": "node",
    "declaration": false,
    "outDir": "lib",
    "strict": false,
    "allowJs": true,
    "jsx": "react",
    "allowSyntheticDefaultImports": true,
    "sourceMap": true,
    "noResolve": false
},
"include": [
    "./standalone/**/*",
    "./node_modules/**/*"
],
}

некоторые из ошибок:

ERROR in ./node_modules/project/frontend/react/shared/inputs/smallcolorinput.tsx Module build failed (from ./node_modules/ts-loader/index.js): Error: Typescript emitted no output for ../FrontEnd/ProjectFolder/node_modules/project/frontend/react/shared/inputs/smallcolorinput.tsx. at successLoader (../FrontEnd/ProjectFolder/node_modules/ts-loader/dist/index.js:41:15) at Object.loader (../FrontEnd/ProjectFolder/node_modules/ts-loader/dist/index.js:21:12) @ ./node_modules/project/frontend/react/shared/views/FontSettings.jsx 13:23-59 @ ./node_modules/project/frontend/react/shared/views/ThemeEditor.jsx @ ./node_modules/project/frontend/react/editor/editor.jsx @ ./electron/views/Edit.tsx

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

return {
        devtool: devMode ? 'eval' : 'hidden-source-map',
        module: {
            rules: [
                {
                    test: /\.(ts|tsx)?$/,
                    use: [babelLoader, {
                        loader: 'ts-loader',
                        options: {
                            onlyCompileBundledFiles: true,
                            allowTsInNodeModules: true
                        }
                    }],
                    exclude: /node_modules/(?!(project)/).*/

                },
                {
                    test: /\.(css|scss)?$/,
                    use:  ['style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader']
                },
                {
                    test: /.jsx?$/,
                    use: babelLoader,
                    exclude: /node_modules/(?!(project)/).*/
                },
},resolve: {
            symlinks: false,
            modules: [
                path.resolve(basePath, "node_modules"),

            ],
            extensions: ['.js', '.jsx', '.ts', '.tsx'],
            alias: {

                'classnames': path.join(basePath, 'node_modules/project/lib/utils/classnames.js')
            }
        },

Можете добавить к вопросу какие-нибудь ошибки?

Matt McCutchen 20.08.2018 14:51

Я добавил ошибку ниже, она повторяется несколько раз.

Vanessa 20.08.2018 15:33

Какая у вас конфигурация Webpack? Были ли файлы JavaScript в node_modules произведены путем компиляции файлов TypeScript (например, a.ts -> a.js) или они разные?

Matt McCutchen 20.08.2018 21:31

Веб-пакет тоже тот, я думаю, выглядит неплохо.

Vanessa 21.08.2018 09:08

Спасибо за настройку Webpack. Были ли файлы JavaScript в node_modules произведены путем компиляции файлов TypeScript (например, a.ts -> a.js) или они разные? Возможно, я не смогу решить эту проблему самостоятельно, но я пытаюсь собрать информацию, которая может понадобиться другим людям для решения этой проблемы.

Matt McCutchen 21.08.2018 20:29

Да, верно, они создаются путем компиляции a.ts в a.js.

Vanessa 22.08.2018 09:12

У меня нет идей. Поскольку мой ответ не помог, я удалю его, чтобы вопрос снова стал без ответа.

Matt McCutchen 26.08.2018 20:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
1 927
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После долгих поисков и попыток разных ответов я обнаружил, что у Typescript есть проблема с компиляцией файлов ts из node_modules. Раньше он не поддерживался, теперь ts-loader поддерживает его официально.

Я обнаружил, что удаление onlyCompileBundledFiles для ts-loader решает эти проблемы.

Другие вопросы по теме