好的,所以这有点差。
在客户端,当导入three.js时,为什么这样做
'mjs' files 'import' : node_modules/three/build/three.module.js
'js' files 'import' : node_modules/three/build/three.js
我有一个与节点共享一些文件的Web应用程序。共享文件名为“ mjs”,以便在节点中导入本机ES6,并且客户端使用webpack 4,因此这些文件也可以直接在客户端导入。
这是从我的一个mjs文件中导入的示例
import THREE from 'three' // imports three.js
let { Matrix4, Vector3 } = THREE;
在节点上,我们需要使用默认的import语句从“ mjs”文件引用commonJS文件。在我的JS文件中,我可以直接引用这些类
import { Matrix4, Vector3 } from 'three'; // imports three.module.js
问题是,这两个语句不相等。他们导入三个版本的不同版本-琐碎的类不是问题,因为代码相同,但是某些类(几何等)具有静态状态,这些状态在三个版本的不同版本之间不共享,并且我的渲染过程一团糟。 >
如何强制将MJS和JS文件导入为同一文件?