Я создаю веб-сайт для изучения PHP и Javascript / JQuery, у меня пока нет большого опыта, и я пытаюсь понять, какую структуру лучше реализовать
PHP создает массив строкя могу получить доступ к массиву из index.php через json_encode, затем я хочу отправить массив функции в классе, который находится в файле .mjs, проблема в том, что в файле index.php, с помощью script теги, я не могу импортировать модуль, и если я использую script type = "module" я могу использовать импорт, но я получаю эту ошибку:
Не удалось загрузить модульСценарий: сервер ответил не MIME-типом, отличным от JavaScript, "" в main.mjs :: 1
ссылка MDN, используемая расширением mjs для предотвращения этого. вот почему я застрял.
каталог сервера выглядит так:
- index.php
- js / main.mjs
- js /index.mjs
Фрагменты кода:
index.php
<head>
<meta charset="utf-8">
<title>Website</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="js/jquery-3.4.1.slim.min.js"></script>
<script src="js/main.mjs" type="module"></script>
<script type="module">
import {start_index} from "./js/main.mjs";
initialize();
function initialize()
{
var arr = <?php echo json_encode($images_arr); ?>;
start_index(arr);
}
</script>
</head>
main.mjs
function start_index(arr)
{
import {gallery_manager} from './index.mjs';
var gallery_mngr = new gallery_manager();
gallery_mngr.initialize(arr);
}
export {start_index};
index.mjs
class gallery_manager
{
constructor(){}
var images = "";
var placeholder = "../images/common/placeholder.png";
public function initialize(arr)
{
images = arr;
alert(images[0]);
}
function switchByTimer()
{
}
function switchImage(new_image, direction)
{
}
}
export {gallery_manager};