Совместное использование детализированных модулей ECMAScript между Node и webpack

Я использую Babel для компиляции своего кода JavaScript, и у меня есть отдельные конфигурации для webpack (базовый) и Node (переопределить):

module.exports = {
    presets: [
        [
            '@babel/env',
            {
                modules: false,
                useBuiltIns: 'usage',
            },
        ],
        '@babel/react',
        '@babel/flow',
    ],
    overrides: [
        {
            include: ['src/scripts'],
            presets: [
                [
                    '@babel/env',
                    {
                        modules: 'commonjs',
                        useBuiltIns: 'usage',
                        targets: {
                            node: '6',
                        },
                    },
                ],
            ],
        },
    ],
};

Итак, scripts - это мой код узла, остальное - на стороне клиента (веб-пакет). Я не могу импортировать что-либо в папку scripts из модуля в любой другой папке.

Если я использую экспорт по умолчанию:

export default function fn() {}

И импортируйте это так:

import fn from '../scripts/fn'

Я вижу эту ошибку:

"export 'default' (imported as 'fn') was not found in '../scripts/fn'

Если я использую именованный экспорт:

export function fn() {}

И импортируйте это так:

import {fn} from '../scripts/fn'

Я вижу эту ошибку:

"'../scripts/fn' does not contain an export named 'fn'.

Где именно вы получаете эту ошибку, при запуске или компиляции какой части? Кроме того, в какой части вы пытаетесь импортировать скрипт?

Bergi 07.09.2018 13:56

Когда я пытаюсь запустить его, он должен быть из веб-пакета: «Скомпилировано с предупреждениями ./lib/client/test.js 23: 12-18» экспорт 'default' (импортированный как 'fn') не найден в '../ scripts / fn '”Babel отлично работает (я использую инструмент командной строки).

Artem Sapegin 07.09.2018 14:35

Почему ваш клиентский сценарий пытается включать серверные части?

Bergi 07.09.2018 14:47

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

Artem Sapegin 07.09.2018 15:11

Вы должны делиться источниками, а не детализированными выходными данными, в которых используются разные модульные системы.

Bergi 07.09.2018 15:14

Не могли бы вы уточнить, как именно мне это делать?

Artem Sapegin 07.09.2018 15:23
Поведение ключевого слова "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
6
50
0

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