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

时间:2017-06-07 14:32:48

标签: vue.js vuejs2 vue-component

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

质粒标签是由 angularplasmid.complete.min.js 文件呈现的,但由于某种原因不是。这是在组件中导入库的正确方法吗?

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

任何帮助都非常感激。

<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'

...

2 个答案:

答案 0 :(得分:0)

你肯定不能合理地将角度函数与Vue结合起来。另外,角度使用its own dependency system

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

以下是语法提醒:

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";

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

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

答案 1 :(得分:0)

通过在安装我的组件时要求文件来解决:

mounted: function(){
    require('./angularplasmid.complete.min.js')
  }