Javascript 从mjs文件webpack4导入js模块

Javascript 从mjs文件webpack4导入js模块,javascript,node.js,three.js,webpack-4,Javascript,Node.js,Three.js,Webpack 4,好的,这是一次有点困难的旅行 在客户端,导入three.js时,为什么要 'mjs' files 'import' : node_modules/three/build/three.module.js 'js' files 'import' : node_modules/three/build/three.js 我有一个web应用程序与node共享一些文件。共享文件名为“mjs”,以便在节点中导入本机ES6,客户端使用webpack 4,因此这些文件也可以直接导入客户端 下面是从我的一个mjs

好的,这是一次有点困难的旅行

在客户端,导入three.js时,为什么要

'mjs' files 'import' : node_modules/three/build/three.module.js
'js' files 'import' : node_modules/three/build/three.js
我有一个web应用程序与node共享一些文件。共享文件名为“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文件导入为同一个文件