尝试导入没有模块/包的 javascript 库

Posted

技术标签:

【中文标题】尝试导入没有模块/包的 javascript 库【英文标题】:Trying to import a javascript library that has no modules/packages 【发布时间】:2018-12-25 18:13:24 【问题描述】:

我目前正在尝试导入一个名为 PlayCanvas 的 WebGL 引擎。它与three.js 非常相似,但与three.js 不同;不幸的是,它没有 npm 包/捆绑包。通过我从这个 *** 得到的解决方案 solution;我下载了引擎代码并将其导入到我的 React 组件中。

奇怪的问题是我导入的playcanvas.min.js有错误。我知道引擎代码是正确的,但是代码依赖于一个名为 ammo.js 的物理引擎,并且大部分 not defined 如下...

当我尝试将物理引擎 ammo.js 导入 playcanvas 引擎时,我的本地主机服务器崩溃并拒绝渲染任何内容。

Line 3:     'define' is not defined              no-undef
  Line 4:     'define' is not defined              no-undef
  Line 780:   'webkitAudioContext' is not defined  no-undef
  Line 880:   Unexpected use of 'self'             no-restricted-globals
  Line 1125:  'Ammo' is not defined                no-undef
  Line 1125:  'Ammo' is not defined                no-undef
  Line 1125:  'Ammo' is not defined                no-undef
  Line 1125:  'Ammo' is not defined                no-undef

我认为主要问题是 <script src="https://code.playcanvas.com/playcanvas-latest.js"></script>import * as pc from './playcanvas.min.js' 很不一样

【问题讨论】:

出于兴趣,你见过this GitHub issue吗? 是的。我确实看过但没有太注意它。现在我知道你可以安装整个引擎了,因为贡献者已经创建了一个package.json 文件。我现在可以通过调用 github repo 来安装它 -> link。这是可行的选择吗? @SamHolmes 谢谢。 绝对是! 【参考方案1】:

这看起来像是一个 linter 问题,尝试使用 eslint-config-playcanvas 作为配置规则。这似乎禁用了与 PlayCanvas 环境相关的警告和错误。

这里是the instruction,了解如何操作。

【讨论】:

以上是关于尝试导入没有模块/包的 javascript 库的主要内容,如果未能解决你的问题,请参考以下文章

Python基础----import模块导入和包的调用

桥接头不导入 Cocoapod 库,“没有这样的模块‘MagicalRecord’”

Dart 包的条件导入/代码

从 Python 非标准库导入模块

python模块与包的导入

python中pil如何导入?