#javascript #arrays #import #export
Вопрос:
У меня есть следующий код на 2 разных
//file 1 expVar.js
export var myVar = [ //content ];
//file 2 impVar.js
import myVar from '../PathToFile';
И когда я пытаюсь записать функцию в файл 2 после импорта, она диктует, что функция объявлена, но никогда не читается. (Я использую его в HTML-файле) , например:
//file 2 impVar.js
import myVar from '../PathToFile';
function write(){
} //DOESNT WORK returns "Function is declared but never read"
Но он не возвращает эту ошибку, если я не использую импорт. Заранее спасибо за помощь!
Комментарии:
1. вы пробовали экспортировать var myVar по умолчанию = [ … ]; или импортировать { myVar } из ‘../pathToFile’; ??
Ответ №1:
Важный момент, который вы, возможно, не учли, заключается в том, что вы просто можете import
и export
из модулей:
Неперехваченная синтаксическая ошибка: объявления об экспорте могут отображаться только на верхнем уровне модуля
Неперехваченная синтаксическая ошибка: объявления об импорте могут отображаться только на верхнем уровне модуля
Это ошибки, которые вы увидите при их использовании в чистом js.
Так что же нам делать?
Во-первых: мы можем изменить наши файлы с filename.js
на filename.module.js
.
Во-вторых: мы можем задать их тип в нашем HTML-файле. итак, у нас есть :
<html>
<head>
<script src="./firstfile.js" type="module"></script>
<script src="./secondfile.js" type="module"></script>
</head>
<body>
</body>
</html>
Примечание: вы должны import
использовать переменную с фигурными скобками, например:
import { myVar } from '../PathToFile';
или
экспортируйте это как default
. так:
export default myVar = [ //content ];
Все мои разговоры были только о вашей проблеме с импортом и экспортом, но ваша главная проблема в том, что вы не вызвали свою функцию 🙂
просто используйте write()
в конце вашего файла, чтобы вызвать его, и ваш браузер не скажет: Function is declared but never read
.
Комментарии:
1. Я действительно вызвал его в HTML-файле. У меня есть HTML-файл со ссылкой на файл JS, и он отлично работает, если я просто использую VAR в этом основном файле JS. Я пытаюсь организовать все лучше, потому что массив содержит ~1300 строк. Я все еще не могу заставить его работать со всем этим
2. @MMelo31 не могли бы вы поделиться со мной скрипкой, чтобы я понял, что вы имеете в виду?!!? Я не могу понять, в чем твоя главная проблема.