Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Результат транспиляции клиентского кода содержит функцию require()  [new]
Compositum
Member

Откуда: Санкт-Петербург
Сообщений: 5912
Доброго времени суток.

В настройках Babel 7 я перечислил интересующие меня браузеры и их версии. Среди перечисленных платформ я не указывал "node". Тем не менее, результат транспиляции исходного JS-кода, предназначенного для работы в браузерах, содержит вызов функции require(), использование которой свойственно на серверной стороне (на Node.js).

Мой файл package.json:

{

"name": "d3_learning",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"test": "test"
},
"scripts": {
"build": "babel src --out-dir dist --source-maps --minified --no-comments",
"build:watch": "npm run build -- -w"
},
"babel": {
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "entry",
"targets": {
"firefox": "64",
"opera": "57",
"chrome": "71",
"edge": "44",
"ie": "11"
}
}
]
]
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/node": "^7.2.2",
"@babel/polyfill": "^7.2.5",
"@babel/preset-env": "^7.2.3",
"@babel/register": "^7.0.0"
},
"dependencies": {
"d3": "^5.7.0"
}
}


Файл моего исходного кода:

import * as d3 from 'd3';

function draw(data) {
    // ...
}

d3.json('../data/some-data.json', draw);


Фрагмент результата транспиляции (npm run build):

"use strict";var d3=_interopRequireWildcard(require("d3"));...


Как видим - для подключения модуля d3 используется функция require(). Как следствие - ошибка в рантайме:

Browser
Uncaught ReferenceError: require is not defined


Почему результат транспиляции для подключения модулей использует функцию require(), несмотря на то, что в качестве целевых платформ указаны браузеры, а не Node.js? Как исправить проблему?

С уважением, Андрей
7 янв 19, 12:08    [21779351]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить