在 Vue.js 单文件组件中导入外部 js 库

ass*_*aul 5 vue.js vue-component vuejs2

我在 Vue.js 中有以下单文件组件。

质粒标签本来是由angularplasmid.complete.min.js文件渲染的但由于某种原因没有渲染。这是在组件中导入库的正确方法吗?

我正在重组一个旧的 Vue 项目以进行更好的设计,但我知道质粒标签在这里呈现(不使用单个文件组件):https://github.com/asselinpaul/dnaviewer/blob/master/app/索引.html

非常感谢任何帮助。

<template>
<div id="DNA Plasmid">
    <h3>Plasmid Visualisation</h3>
    <div class="section">
        <plasmid id='p1' plasmidheight="800" plasmidwidth="800" v-bind:sequencelength="sequenceLength">
            <plasmidtrack id='t1' radius="200" width="55">
                <trackmarker v-for="(bound, index) in bounds" class='marker' v-bind:start="bound.start" v-bind:end="bound.end" v-bind:style="{ fill: bound.color }" v-bind:key="bound.start">
                    <markerlabel v-bind:text="bound.name" v-bind:vadjust='bound.vadjust' style='font-size:12px'></markerlabel>
                </trackmarker>
                <tracklabel v-bind:text="name" style='font-size:25px;font-weight:bold'></tracklabel>
            </plasmidtrack>
        </plasmid>
    </div>
</div>

</template>

<script>
import './angularplasmid.complete.min.js'

...
Run Code Online (Sandbox Code Playgroud)

Cob*_*way 0

你绝对无法合理地将角度函数与 Vue 结合起来。另外,Angular 使用自己的依赖系统

此外,您可以在单文件组件中使用导入,方式与在任何脚本中完全相同。但当然要确保您导入的脚本实际上正在导出某些内容(或者与作为模块执行相关,这里可能不是这种情况)。

这是语法的提醒:

import defaultMember from "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1 , member2 } from "module-name";
import { member1 , member2 as alias2 , [...] } from "module-name";
import defaultMember, { member [ , [...] ] } from "module-name";
import defaultMember, * as name from "module-name";
import "module-name";
Run Code Online (Sandbox Code Playgroud)

来源:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

请注意,commonJSrequire()module.exports在单文件组件中也完全没问题。