JavaScript, кажется, не удается экспортировать модули?

Итак, я только начал изучать JavaScript. Я использую простой JavaScript и слежу за курсом Code Academy. Исходя из C#, я понял, что модули - это что-то вроде пространств имен в C#. У меня проблемы с экспортом, а также с импортом:

 let Module = {
 name: 'Hello'
};
export default Module;

Это вызывает у меня ошибку - «Непойманная SyntaxError: неожиданный экспорт токена».

Я также попробовал синтаксис ES5:

 let Module = {
 name: 'Hello'
};
module.exports = Module;

Это вызывает у меня еще одну ошибку - «Uncaught ReferenceError: module is not defined». Я использую новейшую версию Chrome и не понимаю, почему JavaScript не распознает эти команды. Это очень расстраивает, и я не могу осознать это. Поэтому я хотел бы попросить кого-нибудь помочь мне с этой проблемой.

Вам необходимо добавить атрибут type = "module" в свой тег скрипта.

S. Dev 06.06.2018 13:35
Поведение ключевого слова "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) для оценки ваших знаний,...
1
1
397
1

Ответы 1

Если вы используете новейшую версию Chrome, она поддерживает модули ES2015 +. Убедитесь, что в теге script указано, что это модуль:

<script type = "module">
import name from './your-module-file.js';
console.info(name); // {name: "Hello"}
</script>

Тогда ваш первый пример будет работать.


Но обратите внимание, что Module - это нет модуль. Это объект, который вы экспортируете в модуль из.

Спасибо за ответ, но меня больше не устраивает, почему пример ES5 не работает и почему он не распознает module.exports? я что-то пропустил? Я делаю именно то, что Codeacademy делает на своем веб-сайте. У них это работает, но не у меня.

Danilo Dimitrievski 06.06.2018 13:55

@DaniloDimitrievski Поскольку это не "ES5", это стиль модуля common.js, который предполагает полуглобальные объекты module и require. В браузерах их нет, если вы не используете определенную библиотеку.

Bergi 06.06.2018 14:03

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