Estoy intentando exportar una función de JavaScript, empaquetarla con rollup.js ( https://rollupjs.org/guide/en/ ) y luego usar esta función en mi plantilla de django. Pero estoy recibiendo el siguiente error:
TypeError no capturado: no se pudo resolver el especificador de módulo "tres". Las referencias relativas deben comenzar con "/", "./" o "../".
Yo estoy haciendo esto:
import { AmbientLight, AxesHelper, DirectionalLight, GridHelper, PerspectiveCamera, Scene, WebGLRenderer, } from "three"; import {OrbitControls} from "three/examples/jsm/controls/OrbitControls"; import {IFCLoader} from "web-ifc-three/IFCLoader"; function test() { //Here I am executing code using modules from three } export {test}Luego en mi plantilla:
<script type="module" src="{% static "src/outputs/bundle.js" %}"></script> <script type="module"> import {test} from "../../../../static/src/inputs/index.js"; test() </script>Ahora aquí está la parte interesante:
Pero tan pronto como uso una función con un módulo three.js obtengo:
TypeError no capturado: no se pudo resolver el especificador de módulo "tres". Las referencias relativas deben comenzar con "/", "./" o "../".
Entonces, el problema es importar de alguna manera los módulos three.js y luego usar una función donde se usan los módulos three.js. Pero quiero exportar una función para que mi código sea reutilizable y usar la función con argumentos en varias plantillas. ¿Alguna idea de cómo podría resolver esto?
Leí muchas preguntas sobre SO sobre este error, pero nadie parece abordar el problema de que la importación falla cuando se usan los módulos dentro de una función.
Gracias por cualquier ayuda, muy apreciada.