Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 将cytoscape.js作为ESM模块导入_Angular_Cytoscape.js - Fatal编程技术网

Angular 将cytoscape.js作为ESM模块导入

Angular 将cytoscape.js作为ESM模块导入,angular,cytoscape.js,Angular,Cytoscape.js,我在一个角度为10的应用程序中使用。cytoscape.js的文档说 在具有npm的ESM环境中使用Cytoscape.js(例如网页包或 带有ESM包的Node.js):从“cytoscape”导入cytoscape 我像从“cytoscape”导入cytoscape一样导入它在我的打字脚本文件中 但我看到了警告 CommonJS或AMD依赖可能导致优化援助 因此,我转到node\u modules\cytoscape\dist文件夹。我看到有许多可导入的文件 我把console.log放在

我在一个角度为10的应用程序中使用。cytoscape.js的文档说

在具有npm的ESM环境中使用Cytoscape.js(例如网页包或 带有ESM包的Node.js):
从“cytoscape”导入cytoscape

我像从“cytoscape”导入cytoscape一样导入它在我的打字脚本文件中

但我看到了警告

CommonJS或AMD依赖可能导致优化援助

因此,我转到
node\u modules\cytoscape\dist
文件夹。我看到有许多可导入的文件

我把
console.log
放在他们每个人身上。然后我看到我正在使用
cytoscape.cjs.js
,这意味着我正在使用commonjs文件

我可能会复制
cytoscape.esm.min.js
并手动导入它,但有更好的方法吗?
最好从
package.json

中跟踪我的所有依赖项。我刚才在谷歌上搜索了一下,发现还不支持typescript。所以我做了与您相同的导入,并将cytoscape添加到angular.json:projects.yourprojectname.architect.build.options.allowedCommonJSDependencies中,如下所示:

 "allowedCommonJsDependencies": [
              "cytoscape",
              "cytoscape-popper",
              "lodash",
              "lodash/cloneDeep"
            ]

实际上,有typescript支持,但我想它不是官方的。此外,cytoscape.js的工作方式如下
var cy=cytoscape({container:document.getElementById('cy')//要在}中呈现的容器)
因此它将所有功能集中在一个对象中,我认为即使我们将其作为ESM模块导入,也不会大大提高性能。如果cytoscape.js更加模块化,那么我们可以导入或不导入多个内容,这将提高性能。感谢您的回答。Typescript支持将有助于了解调用的结果以及所有的辅助对象(cytoscape集合、节点等)。我要看一看typedefs.typescript会让事情变得更容易理解嗯,当我安装这个时,我的
从“cytoscape”导入cytoscape中断。您可能必须使用“cytoscape/dist/cytoscape.esm.js”。无法在v3中更新项目的package.json中的“module”字段,因为它会破坏Web包。看见