我正在尝试为obsidian plugin初始化Cytoscape.js。我导入了Cytoscape,如下所示:import cytoscape from 'cytoscape';,稍后我将使用const viz = cytoscape();调用它。
使用rollup编译时没有错误,但是在加载代码时崩溃,并出现以下错误。注意,cytoscape()本身永远不会被调用。有人知道如何解决这样的导入错误吗?
app.js:1 Plugin failure: neo4j-graph-view TypeError: Cannot assign to read only property 'remove' of object '[object Object]'
at eval (eval at <anonymous> (app.js:1), <anonymous>:13973:17)
at e.<anonymous> (app.js:1)
at app.js:1
at Object.next (app.js:1)
at a (app.js:1)我的tsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"inlineSourceMap": true,
"inlineSources": true,
"module": "ESNext",
"target": "es2015",
"allowJs": true,
"noImplicitAny": true,
"moduleResolution": "node",
"importHelpers": true,
"lib": [
"dom",
"es5",
"scripthost",
"es2015"
],
"allowSyntheticDefaultImports": true,
// "esModuleInterop": true,
"typeRoots": [
"./node_modules/@types/"
]
},
"include": [
"**/*.ts"
]
}我的rollup.config.js
import typescript from '@rollup/plugin-typescript';
import {nodeResolve} from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import copy from 'rollup-plugin-copy';
export default {
input: 'main.ts',
output: {
dir: '.',
sourcemap: 'inline',
format: 'cjs',
exports: 'default',
},
external: ['obsidian'],
plugins: [
typescript(),
nodeResolve({browser: true}),
commonjs({
include: 'node_modules/**',
}),
copy({
targets: [
{src: 'main.js', dest: '../../semantic-obsidian/Semantic Obsidian/.obsidian/plugins/neo4j-graph-view'},
],
hook: 'writeBundle',
}),
],
};发布于 2021-01-17 16:54:24
如果有人以某种方式偶然发现了这一点,那么这种崩溃是因为Cytoscape.js编辑了Array.prototype。然而,当前版本的黑玉改变了Array.prototype中的一些东西,然后使其成为只读的。他们会修复这个问题,这应该允许正常导入Cytoscape。
https://stackoverflow.com/questions/65751315
复制相似问题