Попытка использовать импорт / экспорт в ES6 (с компиляцией babel) - PullRequest
0 голосов
/ 18 декабря 2018

Вот файлы для моего приложения, которое использует babel для компиляции ES6 в main.js в ES5 в main.bundle.js

enter image description here

Вотмой babel.rc файл (скрытый):

{
    "presets": ["@babel/preset-env"]
}

Вот мой package.json файл со всеми моими модулями узлов (devDependencies):

{
  "name": "es6-tutorial",
  "version": "1.0.0",
  "description": "ES6 tutorial",
  "main": "index.js",
  "scripts": {
    "babel": "babel js/main.js -o build/main.bundle.js",
    "start": "http-server",
    "watch": "babel js/main.js -o build/main.bundle.js --watch"
  },
  "author": "me",
  "license": "ISC",
  "devDependencies": {
    "@babel/preset-env": "^7.2.0",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-preset-es2015": "^6.24.1",
    "http-server": "^0.11.1"
  }
}

Прямо сейчас, чтобы начать компиляцию изES6 - ES5 Я перехожу (cd) в корень этого каталога и настраиваю часы для автоматической компиляции (npm run watch)

Это работает нормально, за исключением того, что теперь у меня также есть функции в myFunctions.js, которыеЯ хочу экспортировать и импортировать в main.js

Когда я добавляю этот экспорт / импорт, я замечаю, что скомпилированный файл, main.bundle.js, добавляет это:

`var _myFunctions = require('myFunctions.js');`

Затем, когда я идучтобы запустить приложение, я получаю сообщение об ошибке в консоли:

`Uncaught ReferenceError: require is not defined
at main.bundle.js:9`

После изучения этого, я думаю, мне нужно добавить какой-нибудь плагин для Babel: https://babeljs.io/docs/en/plugins#modules для обработки экспорта / импорта(это верно?), но я не уверен, какой из них мне следует использовать, и я попробовал несколько, но я не могу заставить их работать после установки npm.

Также я понимаю, что мне НЕ нужно добавлять библиотеку require.js, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...