我需要使用 Javascript 库(https://unpkg.com/troika-3d-text@0.19.0/dist/textmesh-standalone.esm.js?module),它仅作为模块提供。当我尝试在非模块脚本build.js中导入TextMesh类时,控制台会给出错误消息:
不能在模块外部使用 import 语句
所以我需要使build.js成为一个模块。但我有许多非模块脚本,它们依赖于build.js,现在也需要成为模块。我还有许多其他非模块脚本,它们依赖于它们,然后它们也需要成为模块。等等, ...
我对 JavaScript 模块概念的误解在哪里,因为它不可能是模块的意图,即所有直接依赖于“第一个”模块的脚本也必须成为模块?!
即使在非模块脚本中,您也可以使用动态:import()
(async()=>{
const { TextMesh } = await import("https://unpkg.com/troika-3d-text@0.19.0/dist/textmesh-standalone.esm.js?module");
console.log( TextMesh );
})();Run Code Online (Sandbox Code Playgroud)